gpt4 book ai didi

c++ - experimental::filesystem::directory_iterator& operator++()

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

我正在编写一个程序,它获取目录中的所有文件名并将它们放入一个数组中。我遇到的问题是 operator++() 显示错误并且不会增加迭代器。任何帮助将不胜感激。

#include <iostream>
#include <string>
#include <filesystem>

namespace fs = std::experimental::filesystem;

int main()
{
std::cout << "Select a directory :";
std::string path;
std::cin >> path;
std::cout << "How many files :";
int dirFiles;
std::cin >> dirFiles;
int i = { 0 };
std::vector<std::string> fileNames(dirFiles);

for (auto& p : fs::directory_iterator(path)){
while (i < dirFiles) {
fileNames[i] = p.path().string();
fs::directory_iterator& operator++();
std::cout << fileNames[i];
i++;
}
}
system("pause");
return 0;
}

最佳答案

directory_iterator已经知道如何遍历其组成元素。您不需要自己做额外的工作:

std::vector<std::string> fileNames;

for (auto& p : fs::directory_iterator(path)){
fileNames.push_back(p.path().string());
}

关于c++ - experimental::filesystem::directory_iterator& operator++(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50182815/

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