在c ++中逐行读取文本文件

时间:2015-06-19 20:47:06

标签: c++

我想从文本文件中读取文本到我的c ++代码中。这是我的代码: -

RaisePropertyChanged("ImageVis");

我的文字文件如下:

f.open(input);
if (f)
{   
    while(!f.eof())
    {
        LinkedList obj;
        string c, d, l;
        f>>c>>d>>l;

        nodes.push_back(c);
        nodes.push_back(d);

        vector<string> temp;
        temp.push_back(c);
        temp.push_back(d);
        temp.push_back(l);
        vecNodes.push_back(temp);
    }
 }

我的问题是如何一次读取一行。当我的代码读取第二行时,它也会读取第三行的第一个字符,这是错误的。我知道我可以在每行结尾处放置分隔符。还有其他办法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用以下代码逐行阅读文件:

string line;
ifstream myfile;
myfile.open("myfile.txt");

if(!myfile.is_open()) {
    perror("Error open");
    exit(EXIT_FAILURE);
}

while(getline(myfile, line)) {
    // do things here
}

然后按空格分割字符串并在列表中添加元素。