なら、必要な分だけ書き込むコードを考えてみてはどうです?
そんなに難しいコードではないと思いますけれど。
> たぶん1000点使ってなくてもすべて書き込んでたと思います。
と思いますってナニよ。自分で書いたんでしょ?
ちなみにコードを書いてごらんって言っているのはファイルに書き出す所ね。
脱力するなー… ファイルに書く話してんのに画面に描くコード持ち出すんだもんなー。
すみません
>2点しか使っていなくても1000点分書き込むの?
ってことだったんで
線の点の座標をどうほぞんしてるかを見てもらおうとおもうって・・・
課題ですが・・・先生登場!!!!
なんとなくですがわかったきがします。
そしてこうなりました。
// 1つの図形のデータ
typedef struct Picture{ //(保存する)
int lFigure; //線か図形を判断する 0:線 1~:図形
int nPoints; //各線の点の数
vector<POINT> ptLines; //1つの線を1000点で表す
//線:各点の座
標データ 図:配列番号[0]-中心座標? 配列番号[1]-図形の縦と横の長さ
int lKinds; //ペンの種類を保存する
int pTns; //ペンの太さを保存
COLORREF pColors; //ペンの色を保存
// 指定されたファイルへ自分の中身を書き込む
void Write(CStdioFile* pFile) {
//todo>書き込み処理記述
pFile->Write(&lFigure, sizeof(lFigure));
pFile->Write(&nPoints, sizeof(nPoints));
pFile->Write(&ptLines[0], ptLines.size() * sizeof(POINT));
pFile->Write(&lKinds, sizeof(lKinds));
pFile->Write(&pColors, sizeof(pColors));
}
// 指定されたファイルから自分の中身を読み込む
void Read(CStdioFile* pFile) {
//todo>書き込み処理記述
pFile->Read(&lFigure, sizeof(lFigure));
pFile->Read(&nPoints, sizeof(nPoints));
ptLines.resize(nPoints);
pFile->Read(&ptLines[0], ptLines.size() * sizeof(POINT));
pFile->Read(&lKinds, sizeof(lKinds));
pFile->Read(&pColors, sizeof(pColors));
}
Picture() {}
Picture(const Picture& c) {
lFigure = c.lFigure;
nPoints = c.nPoints;
ptLines = c.ptLines;
lKinds = c.lKinds;
pTns = c.pTns;
pColors = c.pColors;
}
Picture& operator=(const Picture& c) {
lFigure = c.lFigure;
nPoints = c.nPoints;
ptLines = c.ptLines;
lKinds = c.lKinds;
pTns = c.pTns;
pColors = c.pColors;
return *this;
}
}Picture;
vector<Picture> Ve_myPic; //vector型(可変長)の配列を宣言
struct Picture myPic;
void CoekakiView::OnDestroy()//終了時書き込み
{
CView::OnDestroy();
// TODO : ここにメッセージ ハンドラ コードを追加します。
CStdioFile fin;
int i;
if(nLines != 0){
if(AfxMessageBox(現在の線を保存して終了しますか?,MB_YESNO)
== IDYES ){
if(!fin.Open(Line.DAT,CFile::modeCreate |
CFile::modeWrite | CFile::typeBinary)){
AfxMessageBox(読込みファイを開けません);
return;
}
fin.Write(&nLines,sizeof(nLines));
for( i = 0; i < nLines; i++){
Ve_myPic[i].Write(&fin);
}
fin.Close();
}
}
}
みなさん ありがとうございました。
まだバグがありますが がんばります。
本当にすみませんでした。
ありがとうございました。
あ 解決済みまたわすれた・・・wwww
ありがとうございました。
えーと、そいつは理解した/納得したコードなのね?
言われたとおりに書いたらできたじゃありませんよね?
# それでもいっか、課題の提出が目的なら。
vectorをlistに差し替えただけでぶっ飛ぶコードですけどね。
解決したようで何よりです。
επιστημηさんが書かれているように理解している事が大切ですよ。
理解していないコードは役に立ちません。
課題は何とか乗り越えられてもC++言語の基礎から勉強しなおすと言うのは
ちゃんと考えた方がいいです。
その後のやり取りを見てもかなり怪しい受け答えが多かったので。
というか、C言語も完全に理解できているのか心配な感じです。
あと、蛇足ですが、
wwwwはあんまり気持ちよくないので止めた方がいいです。
人によっては馬鹿にされたようにとられる事もありますから。
ありがとうございます。
確かにそおかもしれません。
基礎からやりなおします。
ありがとうございました。