VC++ MFC 创建多级目录的方法 MakeSureDirectoryPathExists (另附
文件、目录操作类)
Files
BOOL FileExists( CString file )
Returns
TRUE
if the file ' file
' exists.BOOL CreateFile( CString file )
Creates the empty file '
file
'. If 'file
' contains a non-existing subdirectory, it will be created.BOOL CopyFile( CString sourceFile, CString destDirectory )
Copies '
sourceFile
' to 'destDirectory
'. 'destDirectory
' will be created if it doesn't exist.BOOL CopyFiles( CString sourceDirectory, CString destDirectory)
Copies all files from '
sourceDirectory
' to 'destDirectory
'. Subdirectories are not copied (useCopyDirectory
, described below, for this). 'destDirectory
' will be created if it doesn't exist.BOOL CopyFiles( CStringArray& files, CString destDirectory)
Copies the files in '
files
' to 'destDirectory
'. Either the filenames in 'files
' must be fully qualified or will be copied from the current directory. 'destDirectory
' will be created if it doesn't exist.
Directories
BOOL CreateDirectory( CString directory )
Creates '
directory
'. Subdirectories will also be created.BOOL CopyDirectory( CString sourceDirectory, CString destDirectory)
Copies the contents from '
sourceDirectory
' to 'destDirectory
'. Subdirectories will not be copied.BOOL EmptyDirectory( CString directory )
Deletes all files from '
directory
'. Subdirectories will not be emptied.BOOL
RemoveDirectory( CString directory ) Remove '
directory
' even if it is not empty. Will not remove subdirectories.BOOL CopyDirectories( CString sourceDirectory, CString destDirectory)
Copies the contents from '
sourceDirectory
' to 'destDirectory
'. Subdirectories will also be copied.BOOL EmptyDirectories( CString directory )
Deletes all files from '
directory
'. Subdirectories will also be emptied.BOOL RemoveDirectories( CString directory )
Removes '
directory
' even if it is not empty. Will also remove subdirectories.
Enumerations
BOOL EnumDirectories( CString sourceDirectory, CStringArray& directories )
Returns a list of all subdirectories in '
sourceDirectory
' in 'directories
'. Subdirectories will not be enumerated.BOOL EnumFilesInDirectoryWith
Filter( CString filter, CString sourceDirectory, CStringArray& files, int mode = EF_ONLY_FILENAMES) Returns a list of all files in '
sourceDirectory
' matching the filter in 'filter
' in 'files
'. If mode isEF_ONLY_FILENAMES
(default), only the filenames will be returned. If mode is EF_FULLY_QUALIFIED
, the filenames will contain the complete path. Subdirectories will not be searched.BOOL EnumFilesInDirectory( CString sourceDirectory, CStringArray& files, int mode = EF_ONLY_FILENAMES )
Returns a list of all files in '
sourceDirectory
' in 'files
'. If mode isEF_ONLY_FILENAMES
(default), only the filenames will be returned. If mode is EF_FULLY_QUALIFIED
, the filenames will contain the complete path.BOOL EnumAllFiles( CString sourceDirectory, CStringArray& files )
Returns a list of all files in '
sourceDirectory
' in 'files
'. The filenames will contain the complete path. Subdirectories will also be searched.BOOL EnumAllFilesWithFilter( CString filter, CString sourceDirectory, CStringArray& files )
Returns a list of all files in '
sourceDirectory
' in 'files
' matching 'filter
'. The filenames will contain the complete path. Subdirectories will also be searched.
Error handling
CString GetErrorMessage()