0

您好,下面的代码示例无法按预期工作,它会导致 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();

    }

我不知道为什么会发生这种情况,我看不到这段代码的问题,任何帮助都会很棒。

4

0 回答 0