C/C++创建和删除文件夹操作

一、创建文件夹

1、调用Windows API函数 CreateDirectory()

头文件<windows.h>

代码如下:

  1. #include<windows.h>    //头文件  
  2. #include<iostream>  
  3.   
  4. using namespace std;  
  5.   
  6. int main()  
  7. {  
  8.     string dirName = "D:\\test";    
  9.     bool flag = CreateDirectory(dirName.c_str(), NULL);    
  10.     return 0;  
  11. }  

如果创建成功,将返回布尔型true。

CreateDirectory()函数参数如果提示"Error: "const char"类型的实参与"LPCWSTR"类型的形参不兼容",解决方法:

项目菜单——项目属性(最后一个)——配置属性——常规——项目默认值——字符集,将使用Unicode字符集改为未设置即可。


2、调用C运行库函数int mkdir()和int _mkdir()

头文件<direct.h>

代码如下:

  1. #include<direct.h>    //头文件  
  2. #include<iostream>  
  3.   
  4. using namespace std;  
  5.   
  6. int main()  
  7. {  
  8.    string dirName = "D:\\test";    
  9.     _mkdir(dirName.c_str());  
  10.    return 0;  
  11. }  
_mkdir()创建成功返回0,失败返回-1。

3、调用system命令md

使用下面的语句即可:

  1. system("md D:\\test");  
成功返回0,否则返回非零。


二、删除文件夹

1、调用Windows API函数 RemoveDirectory()

头文件<windows.h>

代码:

  1. #include<windows.h>    //头文件  
  2. #include<iostream>  
  3.   
  4. using namespace std;  
  5.   
  6. int main()  
  7. {  
  8.     string dirName = "D:\\test";    
  9.     bool flag = RemoveDirectory(dirName.c_str());    
  10.     return 0;  
  11. }  
删除成功返回布尔型true,否则返回false。


2、调用C运行库函数int rmdir()和int _rmdir()

头文件<direct.h>

  1. #include<direct.h>    //头文件  
  2. #include<iostream>  
  3.   
  4. using namespace std;  
  5.   
  6. int main()  
  7. {  
  8.     string dirName = "D:\\test";    
  9.     rmdir(dirName.c_str());       
  10.     return 0;  
  11. }  
如果删除成功,则返回0;否则返回-1。


3、调用system命令rd

使用语句:

  1. system("rd D:\\test");  

成功返回0,否则返回非零。


三、检查文件是否存在

使用_access()函数,头文件<io.h>

  1. #include<direct.h>    //头文件  
  2. #include<io.h>  
  3. #include<iostream>  
  4.   
  5. using namespace std;  
  6.   
  7. int main()  
  8. {  
  9.    string dirName = "D:\\test";    
  10.    if(_access(dirName.c_str(), 0)==-1)  
  11.     {  
  12.       int i = _mkdir(dirName.c_str());      
  13.     }   
  14.     return 0;  
  15. }  
如果文件存在,返回0,不存在,返回-1。

四、隐藏命令窗口 (ShellExecute)

strDel.Format(_T("/c del /s/q %s "), sDestFilePath1);
strRd.Format(_T("/c rd %s "), sDestFilePath1);
::ShellExecute(NULL, _T("open"), _T("cmd"), strDel, NULL, SW_HIDE);
::Sleep(200);
::ShellExecute(NULL, _T("open"), _T("cmd"), strRd, NULL, SW_HIDE);
::Sleep(200);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值