• 締切済み

バイナリ形式の読み込み

void __fastcall TForm1::LoadData() { FILE *fp; int XYData[36000],I; AnsiString A; fp = fopen( "C:\\test1\\¥A.rdt", "rb" ); if( fp == NULL ){ ShowMessage("file open error\n" ); exit( 1 ); fread(XYData,2,70000,fp);         for(I=0;I<3600; I++){ A=XYData[I]; Memo1->Lines->LoadFromFile(A); } fclose(fp); } } これでメモに表示させたかったのですがうまく表示されてません。 読み込めていないのか、使い方が間違ってるのかわからないので指導よろしくお願いします。

みんなの回答

  • KoHal
  • ベストアンサー率60% (110/181)
回答No.2

No.1の方の回答に追加 ×:Memo1->Lines->LoadFromFile(A); ○:Memo1->Lines->Add( XYData[I] ); AnisString A は不要です。  A=XYData[I]; この代入は問題はないですが、使う必要はありません。 なお、質問の際は環境を明示しましょう。 AnsiStringが出てくれば知ってる人はBCBと分かりますが、回答者の皆様はBCBを使ってる方ばかりではありませんので。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

exit( 1 ); の後に } はいらないのでしょうか fread(XYData,2,70000,fp); XYDataはint型ですが 2*70000 でいいのでしょうか fread(XYData, sizeof(int),35000,fp); のほうがよさそうな気がします for(I=0;I<3600; I++){ 終了は3600でいいのでしょうか AnsiString A; で A=XYData[I]; は文字列の代入になるのでは int をいれていいのでしょうか LoadFromFile(A); これは何をしたいのでしょうか それと int XYData[36000] スタックは足りますかね

関連するQ&A