[英]Reading data line by line from a text file
文本文件的每一行都有名字,姓氏和薪水。 與此類似:
約翰·杜伊4000
鮑勃·米勒9000
我希望程序采用每行的名字,姓氏和薪水,然后將它們分配給字符串(或整數)。 到目前為止,我已經嘗試過了:
while (inFile){
inFile >> firstName;
inFile >> lastName;
inFile >> grossPay;
cout << firstName << " " << lastName << " " << grossPay << endl;
}
當輸出名稱和薪水時,文本文件的最后一行將由程序輸出兩次。 我怎樣才能解決這個問題?
讀完最后一行后, inFile
仍處於有效狀態。
只有在嘗試讀取更多內容時 ,您的測試才會失敗,但是控件又又進入了循環。
您想在閱讀后進行測試。
while ( inFile >> firstName >> lastName >> grossPay ){
// ^^ Now the test happens AFTER reading...
cout << firstName << " " << lastName << " " << grossPay << endl;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.