TFileStreamの欠点は、fprintf,fscanfの様な動作ができないことです。fprintf、fscanfのよ うな文字列処理をしたい場合は従来のようにfopenを使った方がよいです。
// 例1:ファイル(c:\test.txt)の中のデータを読み込む例
char buff[100];
TFileStream *ifp;
AnsiString fname = "c:\\test.txt";// ファイルを開いて、データの読み込みができる状態にする。
try {
ifp = new TFileStream( fname , fmOpenRead );
} catch( ... ){
// ファイルが開けなかった
ShowMessage(fname + "が開けませんでした。");
return;
}
// ファイルからデータを読み込みbuff変数に格納(最大100バイト)
ifp->Read( buff, 100 );/* ここからは読み込んだデータのデバッグ用のコード。読み込んだデータは文字列 と仮定する為、念のため最後に'\0'をつける。 */
buff[99] = '\0';
ShowMessage(buff);// ファイルを閉じる
delete ifp;
ifp = NULL;
// 例2:ファイル(c:\test.txt)にデータを書き込む例
char buff[100]="あいうえおかきくけこ";
TFileStream *ofp;
AnsiString fname = "c:\\test.txt";// ファイルを開いて、データの読み込みができる状態にする。
try {
ofp = new TFileStream( fname , fmCreate );
} catch( ... ){
// ファイルが開けなかった
ShowMessage(fname + "が開けませんでした。");
return;
}
// ファイルからデータを読み込みbuff変数に格納(最大100バイト)
ofp->Write( buff, 100 );// ファイルを閉じる
delete ofp;
ofp = NULL;