簡體   English   中英

從文本文件逐行讀取數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM