使用ifstream加载文件列表时出现Windows系统错误123

时间:2013-08-13 14:03:17

标签: c++ file-io ifstream

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

    }

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

0 个答案:

没有答案