我真的很沮喪。我想讀它具有以下內容的txt文件:C++ fstream繼續閱讀相同的前5行?
Arenas
Edward
239924731
2525976612
Autry
Richard
527646269
6028236739
使用此代碼:
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main(int argc, const char * argv[])
{
string line;
string last, first;
int uin, number;
ifstream phoneBook;
phoneBook.open("PhoneBook.txt");
while (!phoneBook.eof()) {
phoneBook >> last >> first >> uin >> number;
cout << last << ", " << first << ", " << uin << ", " << number <<endl;
}
return 0;
}
輸出將是相同的接觸不休
Arenas, Edward, 239924731, 2147483647
Arenas, Edward, 239924731, 2147483647
Arenas, Edward, 239924731, 2147483647
Arenas, Edward, 239924731, 2147483647
Arenas, Edward, 239924731, 2147483647
我也嘗試此版本的while循環:
while (phoneBook >> last >> first >> uin >> number) {
cout << last << ", " << first << ", " << uin << ", " << number <<endl;
}
由於某些原因,編譯器甚至沒有進入循環。它會跳轉到返回0;
此外,將電話號碼存儲爲文本而不是整數通常是個好主意。如果它以0開頭呢? – Dan