ファイルの状態の操作
CFile
では、ファイルが存在するかどうか、作成日時と変更日時、論理サイズ、パスなど、ファイル状態の取得もサポートされています。
ファイルの状態を取得するには
- 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 );
}
関連情報については、「シリアル化」を参照してください。