ファイルの状態の操作

CFile では、ファイルが存在するかどうか、作成日時と変更日時、論理サイズ、パスなど、ファイル状態の取得もサポートされています。

ファイルの状態を取得するには

  1. CFile クラスを使用して、ファイルに関する情報を取得し、設定します。 CFile 静的メンバー関数 GetStatus を使用して、ファイルが存在するかどうかを判別すると便利です。 GetStatus は、指定されたファイルが存在しなければ 0 を返します。

このため、次の例に示されているように、GetStatus の結果を使用して、ファイルを開くときに CFile::modeCreate フラグを使用するかどうかを決定できます。

CFile theFile;
TCHAR* szFileName = _T("c:\\test\\myfile.dat");
BOOL bOpenOK;

CFileStatus status;
if( CFile::GetStatus( szFileName, status ) )
{
   // Open the file without the Create flag
   bOpenOK = theFile.Open( szFileName, 
      CFile::modeWrite );
}
else
{
   // Open the file with the Create flag
   bOpenOK = theFile.Open( szFileName, 
      CFile::modeCreate | CFile::modeWrite );
}

関連情報については、「シリアル化」を参照してください。

関連項目

ファイル