C++ 目录文件操作(持续更新)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012938704/article/details/53054374

判断目录是否存在,存在便删除:

#include<sstream>
#include<unistd.h> 

void DeleteIfExist(char* path)
{
    if(access(path,F_OK)!=0)//适用于linux系统
    {
        cout<<path<<" not exist, skipped."<<endl;
        return;
    }
    ostringstream cmd;
    cmd<<"rm -rvf "<<path;
    system(cmd.str().c_str());
}

这里说明两点:

  1. C++库函数remove以及Linux库函数rmdir,只能删除空目录,或者单个文件。
  2. 请记住,能用shell命令获取文件、文件夹信息或者操作文件、文件夹最好用shell命令获取或者操作,而不要用各种API获取或者操作,因为当遇到非法文件夹名或非法文件名或非法文件长度、非法文件日期、压缩文件、链接文件、稀疏文件……等各种意料之外的情况时,API会处理的不全面或陷入死循环,而shell命令不会。
阅读更多
换一批

没有更多推荐了,返回首页