我试图读入然后输出三行文本文件的内容,如下所示:
鲍勃迪伦10 9
约翰列侬8 7
大卫鲍伊6 5
对于每一行,我只想输出该行,即firstName LastName number1 number2 .
我正在使用以下代码:
int num1;
int num2;
string firstName;
string lastName;
string fullName;
ifstream inFile;
inFile.open("inputFile.txt");
while (getline(inFile, firstName))
{
inFile >> firstName >> lastName >> num1 >> num2;
fullName = firstName + " " + lastName;
cout << fullName << " " << num1 << " " << num2 << endl;
}
inFile.close();
这个输出有2个问题 . 首先,第一行不输出,虽然从实验中我知道它已读入 . 其次,在读入并输出最后两行(根据需要)后,程序显示最后一行中的所有内容除了名字外(在这种情况下,它打印的最后一件事是Bowie 6 5) .
有人可以使用这个简单的例子来解释当从文件中读取多行时getline函数的工作原理吗? (我甚至