gpt4 book ai didi

c++ - 如何更改目录中文件夹中的文件名?

转载 作者:行者123 更新时间:2023-11-28 04:06:55 24 4
gpt4 key购买 nike

我正在设置我的 C++ 项目,该项目是关于在任何位置重命名文件。

我正在使用文件系统库。

项目运行成功,我没有收到任何错误,但是当我输入完整路径(例如,Documents)时,它不会更改文件夹中的文件。例如,我的下载目录中有一个文件夹,我有一个名为“myfolder”的文件夹。在这个文件夹中,我有 2 个 txt 文件,我的程序更改了下载中但不在“myfolder”文件夹中的所有文件的名称。

string dirPath = "C:\\Users\\" + pcuser + "\\Downloads";
auto path = fs::path(dirPath);
auto dir = fs::directory_iterator(path);

for (auto& file : dir)
{
int Filename = rand() % 2342;
rename(file.path(), fs::path(dirPath + "\\" + to_string(Filename)).c_str());
Filename++;
}

我也想更改文件夹中的文件。我该怎么做?

最佳答案

有一个std::filesystem::recursive_directory_iterator所以当它是一个文件时你可以只使用它并重命名实体

for(auto& p: fs::recursive_directory_iterator(dirname))
{
if (fs::is_regular_file(p))
{
//do rename
}
}

关于c++ - 如何更改目录中文件夹中的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58573713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com