C++ Builder Tips


Windows標準のファイル読み取り関数を使う


WriteFile()関数を使用します。
ファイルハンドルを取得し、ファイルをロック、ファイルを書き出したあとにロックを解除し、ファイルハンドルを開放するという手順になります。

stringのところに、データをセットします。データ文字列へのポインタとデータの長さをバイト単位でWriteFile()に渡すと、データを書き出します。
HANDLE hFile;
 DWORD dwBytesWritten,dwPos;
 AnsiString string;

 //ファイルハンドルを取得
 hFile = CreateFile("testfile.txt",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
 if(hFile == INVALID_HANdlE_VALUE)
 {
  ErrorProcessor(); //エラー処理へ
  return;
 }
 LockFile(hFile,0,0,GetFileSize(hFile,NULL),0); //ファイル全体をロック

 string = "This is context.";
 WriteFile(hFile, string.c_str(), string.Length(), &dwBytesWritten, NULL);//書き出し

 UnlockFile(hFile,0,0,GetFileSize(hFile,NULL),0);//ロック解除
 CloseHandle(hFile);


目次に戻る
Copyright(c) 2008 WoodenSoldier Software