从文本文件中逐行读取数据
问题描述:
文本文件的每一行都有名字,姓氏和薪水。沿此线的东西:从文本文件中逐行读取数据
李四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;
}