C++实现删除某个文件夹的文件

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

最近做项目的时候,希望程序在运行前,删除某个文件夹的缓存文件。手动删除太麻烦,希望用脚本实现,于是写了下面的代码.


int DeleteAllFile(char *to_search) {
    long handle;                                                    //用于查找的句柄;
    struct _finddata_t fileinfo;                                    //存储文件信息的结构体;
    handle = _findfirst(to_search, &fileinfo);                    //第一次查找;
    if (handle == -1)
    {
        return -1;
    }                                                               //没有找到就返回-1;
    printf("%s\n", fileinfo.name);                                  //打印找到的文件的文件名;
    while (!_findnext(handle, &fileinfo))
    {

        string filePath = ".\\store\\" + string(fileinfo.name);
        cout << filePath << endl;
        printf("DELETE: %s\n", filePath.c_str());
        DeleteFileA(filePath.c_str());      //DeleteFileA的参数是char*
    }
    _findclose(handle);
    return 0;
}

调用的方法是DeleteAllFile(“.\store\*.*”);
这里用的当前目录下的相对路径,查找的是store文件夹中所有类型的文件。
如果要查找某一类型的文件,比如txt,只需要把参数改为“.\store\*.txt”。

阅读更多
想对作者说点什么? 我来说一句

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