您好,下面的代码示例无法按预期工作,它会导致 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();
}
我不知道为什么会发生这种情况,我看不到这段代码的问题,任何帮助都会很棒。