您好,因此下面的代码示例无法按预期工作,它会导致Windows系统错误123,即“文件名,目录名称或卷标语法不正确”。
在下面的代码中,我从文件列表中加载了所有文件,本例中包含两个文件,两个文件都在那里,然后我遍历文件列表并将它们转储成字符串。
但是,第二个和任何后续文件将抛出Windows系统错误。
如果我不使用文件列表并手动提供文件,它将正常工作。即使使用循环结构来按顺序加载文件。
vector<string> files;
std::ifstream t("filelist.csv");
std::string str((std::istreambuf_iterator<char>(t)), std::istreambuf_iterator<char>());
t.close();
split(str,',',files);
for(int i = 0; i < files.size(); i++)
{
std::ifstream a(files[i]);
std::string str((std::istreambuf_iterator<char>(a)), std::istreambuf_iterator<char>());
a.close();
}
我不知道为什么会发生这种情况,我无法看到这段代码的问题,任何帮助都会很棒。