次の方法で共有


ファイルの読み書き

C ランタイム ライブラリのファイル操作関数を使った経験がある方は、MFC のファイル操作も簡単に行うことができます。 ここでは、CFile オブジェクトを直接読み書きする方法について説明します。 バッファーを通じてファイル入出力を行う場合は、CArchive クラスを使います。

ファイルを読み書きするには

  1. ファイル内のデータを読み書きするには、メンバー関数 ReadWrite を使います。

    または

  2. オフセットを指定してファイル内を移動するには、メンバー関数 Seek を使います。

Read は、バッファーへのポインターと読み出すバイト数を示す UINT 値を取り、実際に読み出したバイト数を示す UINT 値を返します。 ファイルの末尾 (EOF: end-of-file) に到達して、指定されたバイト数が読み出せないときは、実際に読み出したバイト数を返します。 読み取りエラーが発生したときは、例外がスローされます。 WriteRead と似ていますが、書き込みに成功したバイト数を戻り値として返しません。 書き込みエラーが発生したとき (指定されたバイト数を書き込めなかった場合など) は、例外がスローされます。 有効な CFile オブジェクトに対しては、次の例のように読み書きを行うことができます。

TCHAR   szBuffer[256]; 
UINT    nActual = 0; 
CFile   myFile;

if ( myFile.Open( _T("c:\\test\\myfile.dat"), CFile::modeCreate |   
   CFile::modeReadWrite ) )
{
   myFile.Write( szBuffer, sizeof( szBuffer ) ); 
   myFile.Flush();
   myFile.Seek( 0, CFile::begin );
   nActual = myFile.Read( szBuffer, sizeof( szBuffer ) ); 
}

注意

通常、入出力操作は、try/catch 例外処理ブロック内で行います。 詳細については、「例外処理 (MFC)」を参照してください。

参照

概念

MFC のファイル