反复读取文件的第一行

时间:2018-11-13 14:49:23

标签: c++ getline istringstream

我试图记录文本文件中的数据行并将其存储在变量中,以便可以使用这些变量创建并使用这些值进行对象。我的文本文件设置为具有string1 num1 num2 string2。它们之间用空格隔开,共有15行。现在,我只是尝试打印它们,这样我就可以很容易地判断它正在工作。但是,它正在打印第一行15次,所以我猜测它只是在读取第一行,而不继续进行下一行。我只是在学习从文件中读取内容,因此可以提供任何帮助。谢谢。

ifstream inFile;
string line;
inFile.open("CellValues.txt");

//Check for Error
if (inFile.fail()) {
    cerr << "File does not exist!";
    exit(1);
}

int index = 0, max_num = 0;
string type, name;

istringstream inStream;
while (getline(inFile, line)) {
    inStream.str(line);

    inStream >> type >> index >> max_num >> name;

    cout << type << " / " << index << " of " << max_num << " / " << name << endl;

}

0 个答案:

没有答案