1)文件/文件夹是否存在

添加头文件:

#include <shlwapi.h>

#pragma comment(lib,"Shlwapi.lib")

PathFileExists(CString strFileName)

2)文件夹

创建文件夹:CreateDirectory()

删除文件夹:ReMoveDirectory()

3)文件路径的存储问题

例如:test\\test.cpp文件

如果需要保存在一个CString类型或者

一个char数组,需要添加多一个\

如下:

char* pdbName = "test\\\test.cpp"

否则运行的查看显示如下:

test\test.cpp

注意:实际上可以通过/,来避免上述问题的产生

修改文件名称
CString strOldName= _T("D:\\old.txt"); 
CString strNewName= _T("D:\\new.txt"); 
CFile::Rename(strOldName,strNewName);

需求说明:文件夹中的文件一律替换成小写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void 
TransferName(CString strDirPath)   
{   
    
CFileFind finder;
    
CString path;
    
path.Format(_T(
"%s/*.*"
),strDirPath);
    
BOOL bWorking = finder.FindFile(path);
    
while
(bWorking)
  
{
        
bWorking = finder.FindNextFile();
        
if
(finder.IsDirectory() && !finder.IsDots())
    
{
//处理文件夹
            
TransferName(finder.GetFilePath()); 
//递归文件夹
        
}
        
else
    
{
//转换文件名称大小写
      
if
(!finder.IsDots())
      
{
        
CString strOldName = finder.GetFilePath();
        
CString strNewName = finder.GetFilePath();
        
strNewName.MakeLower();
        
CFile::Rename(strOldName,strNewName);
      
}
  
        
}
    
}
}
 
调用过程:
    
CString strDir = _T(
"d:\\log"
);
    
TransferName(strDir);

其中的关键点:

1.

1
if
(!finder.IsDots())

 表示当前的工作目录