読み込みが出来ません・・・

解決


よしこ  2004-10-21 22:31:39  No: 54830

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分ぐらい放置してもだめなんです。なにがいけないのでしょうか?わかる方がいたらお願いします


tetrapod  2004-10-21 23:56:22  No: 54831

> for(int i=1 ; i<=4 ; i++)
ダメに決まってるぢゃん。


よしこ  2004-10-21 23:59:03  No: 54832

よくわからいのですがどういうことですか?


てつや  2004-10-22 00:10:40  No: 54833

double data[4] は
data[0] , data[1] ,data[2] , data[3]
 しかありません。
for(int i = 0 ; i < 4 ; i++ )
ですね。


よしこ  2004-10-22 00:41:39  No: 54834

ですね。。すみません。
しかも行と列の順番も間違えてるし!!
修正したらちゃんと動きました。あらがとうございます


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加