繁体   English   中英

C++ | 如何删除位于 (C:\Program Files (x86)) 的文件夹中的文件

[英]C++ | How can i delete files in a folder located in (C:\Program Files (x86))

所以这是我的问题,我想删除位于 'C:\Program Files (x86)\Steam\userdata' 中的文件夹

所以要清楚用户数据中有多个文件夹,我想清除用户数据(删除用户数据中的所有内容),但我不想删除用户数据本身。

我尝试了多种方法,但到目前为止都没有奏效,我只能像 delete.txt 一样:

#include <iostream>
#include <string>
#include <cstdio>


int main() {


   remove("C:\\Program Files (x86)\\Steam\\userdata\\test.txt");
    

    system("pause");
}

我认为,您需要在 C 驱动器中进行文件操作的权限,只需以管理员权限运行您的程序即可!

您可以调用std::filesystem::remove_all ,但这也会删除提供的目录。 由于需要保留父目录,因此您必须使用循环:

#include <filesystem>

int main() {
    for(std::filesystem::recursive_directory_iterator iter{std::filesystem::path{"C:/Program Files (x86)/Steam/userdata/"}};
        std::filesystem::recursive_directory_iterator{};
        ++iter)
    {
        std::filesystem::remove(*iter);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM