我想从文本文件中读取文本到我的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);
}
}
我的问题是如何一次读取一行。当我的代码读取第二行时,它也会读取第三行的第一个字符,这是错误的。我知道我可以在每行结尾处放置分隔符。还有其他办法吗?
答案 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
}
然后按空格分割字符串并在列表中添加元素。