Accessing File Status

CFile also supports getting file status, including whether the file exists, creation and modification dates and times, logical size, and path.

To get file status

  • Use the CFile class to get and set information about a file. One useful application is to use the CFile static member function GetStatus to determine if a file exists. GetStatus returns 0 if the specified file does not exist.

Thus, you could use the result of GetStatus to determine whether to use the CFile::modeCreate flag when opening a file, as shown by the following example:

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 );
}       

For related information, see Serialization.

See Also

Concepts

Files in MFC