#include <iostream>
#include <fstream>
#include<string>
using namespace std;
int main () {
ifstream inFile("test.txt");
int number;
string name = "";
/********************************/
inFile >> number; // inFile 会将换行符\n留在输入队列中
cout << number << endl;
/********************************/
while (name == "")
getline(inFile,name); // 读到换行符为止,并将换行符读取,所以换行符不存在在队列中,如果没有循环,则name输出为NULL
cout << name << endl;
inFile >> number; // 如果没有while(),则输入会跳过string类型的name,继续读整型将其保存在number中,因为number是整形,所以string被跳过
cout << number << endl;
return 0;
}
-bash-4.1$ more test.txt
5
tom
33