#include <Windows.h>
#include<iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string name;
int age;
char c;
ofstream file;
file.open("user.txt");
if (file.fail()) {
cout << "打开文件失败";
exit(1);
}
while (1) {
cout << "请输入名字[ctrl+z退出]:";
cin >> name;
if (cin.eof()) {
break;
}
cout << "请输入年龄:";
cin >> age;
if (cin.fail()) {
cout << "输入错误!" << endl;
cin.clear();//清除错误标志
//fflush(stdin);
while (( c=getchar())!='\n');//清除缓存,还可以一起清空name的输入
}
else {
file << name << "\t" << age<<endl;
//file << age << endl;
}
}
file.close();
system("pause");
return 0;
}
20200105 控制台环境下,文件的写入和错误时清空缓存、错误标志
最新推荐文章于 2024-06-13 22:36:42 发布