C++ 使用getline()从文件中读取多行

C++ 使用getline()从文件中读取多行,c++,file-io,getline,C++,File Io,Getline,我试图读入并输出一个文本文件的三行内容,如下所示: 鲍勃·迪伦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 (getl

我试图读入并输出一个文本文件的三行内容,如下所示:

鲍勃·迪伦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();
intnum1;
int num2;
字符串名;
字符串lastName;
字符串全名;
河流充填;
open(“inputFile.txt”);
while(getline(infle,firstName))
{
填充>>名字>>名字>>名字>>数字1>>数字2;
fullName=firstName+“”+lastName;

你试图把每一行读两遍

while (getline(inFile, firstName)) // reads the line
    {
        // reads the next line and overwrites firstName!
        inFile >> firstName >> lastName >> num1 >> num2;
将其更改为:

while ( inFile >> firstName >> lastName >> num1 >> num2 )
{
    fullName = firstName + " " + lastName;
    cout << fullName << " " << num1 << " " << num2 << endl;
}
while(infle>>firstName>>lastName>>num1>>num2)
{
fullName=firstName+“”+lastName;

你不能在第一次提取到
firstName
之后立即抛出你的
getline()
结果。你可以从那里开始。关于
getline()的示例
,。正如您在这里所建议的,完全放弃getline实际上是很有意义的,因为我开始使用它的唯一原因是读取firstName和lastName之间的空格,但我最终还是将两者连接起来了!但我不知道提取可以用作while循环的条件。感谢有用的insight和suggestion!@Abhishek Bansal-为什么我在链接的
getline
引用中找不到“它返回一个布尔值…”语句?