从文本文件中逐行读取数据

问题描述:

文本文件的每一行都有名字,姓氏和薪水。沿此线的东西:从文本文件中逐行读取数据

李四4000

鲍勃·米勒9000

我想我的程序采取的第一个名字,姓氏,每行的工资,并将它们分配到字符串(或整数)。到目前为止,我已经试过这样:

while (inFile){ 

    inFile >> firstName; 
    inFile >> lastName; 
    inFile >> grossPay; 

    cout << firstName << " " << lastName << " " << grossPay << endl; 
} 

当输出的姓名和工资,文本文件的最后一行由程序获取输出两次。我怎样才能解决这个问题?

读完最后一行后,​​仍处于有效状态。

它只是当它试图读取更多您的测试将失败,但控制已经进入循环一个额外的时间。

想要在阅读后测试

while (inFile >> firstName >> lastName >> grossPay){ 
//  ^^ Now the test happens AFTER reading... 
    cout << firstName << " " << lastName << " " << grossPay << endl; 
}