VC++ 6.0
void CDatafile4Dlg::OnButton1()
{
ifstream fin;
CFileDialog f(TRUE);
if(f.DoModal()==IDOK){
fin.open(f.GetFileName());
if(fin.fail()){
AfxMessageBox("ファイルをオープン出来ません");
fin.close();
}
string str;
double data[4][13000];
while (!fin.eof())
{
for(int k=0; k<9; k++)
{
getline(fin,str);
}
for(int i=1 ; i<=4 ; i++)
{
for(int j=1 ; j<=12000 ; j++)
{
fin>>data[j][i];
}
}
}
double test = data[2][2]*data[3][4];
m_sEdit.Format("%lf\n",test);
fin.close();
UpdateData(FALSE);
}
}
のようにしてエディット内に表示させたいんです。getlineの部分をいれずに単純に数字だけ入れる段階ではきちんと動いてたんですが、配列数を大きくしてgetline 部分を付け加えたら、ビルドと実行は出来るのですが読み込み作業が出来なくて(フリーズしたみたいになるんです)(もしくは恐ろしく時間がかかっているのでしょうか?)30分ぐらい放置してもだめなんです。なにがいけないのでしょうか?わかる方がいたらお願いします
> for(int i=1 ; i<=4 ; i++)
ダメに決まってるぢゃん。
よくわからいのですがどういうことですか?
double data[4] は
data[0] , data[1] ,data[2] , data[3]
しかありません。
for(int i = 0 ; i < 4 ; i++ )
ですね。
ですね。。すみません。
しかも行と列の順番も間違えてるし!!
修正したらちゃんと動きました。あらがとうございます
ツイート | ![]() |