掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
double型配列に格納されたデータを入出力するには (ID:55083)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
どうも、うまくいかないです・・・ 手始めに書き込みを実装したんですが、データの書き込み時に プログラムが応答しなくなってPC再起を繰り返す羽目になります。 とりあえず、少々長いですがデータ書き込みの部分のソースを 張っておきます。どこら辺が原因なのでしょうか? ちなみに、ファイルはテキスト形式で保存して使用するデータ型は double型です。 m_edit2は、ファイル名を記述するエディットボックスです。 その他、不明な変数などありましたら貼り付けます。 void CLayoutDlg::OnBnClickedButton8() { // TODO : ここにコントロール通知ハンドラ コードを追加します。 FILE *fout; double num; CString text, filename; char buf[1000]; int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0; m_edit2.GetWindowText(filename); if (filename == "")return; if ((fout = fopen(filename,"wb")) == NULL) { AfxMessageBox("書き込みファイルをオープンできません"); return; } text=""; while (a<3){ if(a==0){ if(k==0)num=agentTable1[b][c][d][e][f][g][h][i][j].getUp(); if(k==1)num=agentTable1[b][c][d][e][f][g][h][i][j].getDown(); if(k==2)num=agentTable1[b][c][d][e][f][g][h][i][j].getRight(); if(k==3)num=agentTable1[b][c][d][e][f][g][h][i][j].getLeft(); if(k==4)num=agentTable1[b][c][d][e][f][g][h][i][j].getDeep(); if(k==5)num=agentTable1[b][c][d][e][f][g][h][i][j].getNarrow(); if(k==6)num=agentTable1[b][c][d][e][f][g][h][i][j].getNomove(); }else if(a==1){ if(k==0)num=agentTable2[b][c][d][e][f][g][h][i][j].getUp(); if(k==1)num=agentTable2[b][c][d][e][f][g][h][i][j].getDown(); if(k==2)num=agentTable2[b][c][d][e][f][g][h][i][j].getRight(); if(k==3)num=agentTable2[b][c][d][e][f][g][h][i][j].getLeft(); if(k==4)num=agentTable2[b][c][d][e][f][g][h][i][j].getDeep(); if(k==5)num=agentTable2[b][c][d][e][f][g][h][i][j].getNarrow(); if(k==6)num=agentTable2[b][c][d][e][f][g][h][i][j].getNomove(); }else if(a==2){ if(k==0)num=agentTable3[b][c][d][e][f][g][h][i][j].getUp(); if(k==1)num=agentTable3[b][c][d][e][f][g][h][i][j].getDown(); if(k==2)num=agentTable3[b][c][d][e][f][g][h][i][j].getRight(); if(k==3)num=agentTable3[b][c][d][e][f][g][h][i][j].getLeft(); if(k==4)num=agentTable3[b][c][d][e][f][g][h][i][j].getDeep(); if(k==5)num=agentTable3[b][c][d][e][f][g][h][i][j].getNarrow(); if(k==6)num=agentTable3[b][c][d][e][f][g][h][i][j].getNomove(); } k++; if(k>=7){j++;k=0;} if(j>=5){i++;j=0;} if(i>=5){h++;i=0;} if(h>=5){g++;h=0;} if(g>=5){f++;g=0;} if(f>=5){e++;f=0;} if(e>=5){d++;e=0;} if(d>=5){c++;d=0;} if(c>=5){b++;c=0;} if(b>=5){a++;b=0;} sprintf(buf,"%lf\n",num); text=text + buf; } fputs(text, fout); fclose(fout); }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.