无法使用ifstream c ++读取输入文件

时间:2017-11-15 07:38:36

标签: c++ ifstream

我有一个输入文件" abc.txt"其中包含由','分隔的字符。在每一行。 在尝试使用ifstream逐行读取文件时,它无法读取文件而我在控制台上获得输出"无法打开输入文件。"。 我究竟做错了什么? 代码: -

void EnterFiles(string filename, int index)
{
    string line;
    vector<string> f1,f2;

    std::ifstream f;

    //prepare f to throw if failbit gets set

    std::ios_base::iostate exceptionMask = f.exceptions() | std::ios::failbit;
    f.exceptions(exceptionMask);
    try
    {
        f.open(filename);
    }
    catch (std::ios_base::failure& e)
    {
        std::cerr << e.what() << '\n';
    }
    if (!f)
    {
        cout << "Cannot open input file.\n";
    }
    while (getline(f,line) )
    {   
        if (index == 0)
        {
            f1.push_back(line);
            cout << line << endl;
        }
        else
        {
            f2.push_back(line);
            cout << line << endl;
        }
    }
    f.close();
}

enter image description here

1 个答案:

答案 0 :(得分:0)

如果每次都满足条件,那么跳过其他部分。

提供完整或合格的文件路径(有时会产生问题!), 另外,包含文件(如果不是!!)。

以下示例类似于您所引用的代码, (我检查它就像Linux中的魅力一样)

http://cpp-tutorial.cpp4u.com/STL_ifstream.html

希望,这个答案可能有所帮助。