64,642
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string>
using namespace std;
int main()
{
char name[10];
cin.getline(name, 5);
cout<<"name = "<<name<<endl;
char name2[10];
cin.getline(name2, 10);
cout<<"name2[0] = "<<(int)name2[0]<<endl;
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
char name[10];
cin.getline(name, 5);
cout<<"name = "<<name<<endl;
cin.clear();
char name2[10];
cin.getline(name2, 10);
cout<<"name2[0] = "<<(int)name2[0]<<endl;
return 0;
}
#include <string>
using namespace std;
int main()
{
char name[10];
cin.getline(name, 5);
cout << "name = " << name << endl;
cin.clear(); // 重置 cin 输入状态
cin.sync(); // 清除 cin 缓冲区未读取信息
char name2[10];
cin.getline(name2, 10);
cout << "name2[0] = " << (int)name2[0] << endl;
return 0;
}
cin.clear(); 并不是清除CIN缓冲区,将输入流cin中的所有状态值都重设为有效状态。
cin.sync(); 这才是真正的清除cin缓冲区,将输入流里的队列清空。