cin可以输入string类型或char类型字符串,遇到空格,制表符(就是tab键),换行符时自动结束一次的接收。自动在所接受字符后面添加空字符,但不读取换行符,空格,制表符。
cin.get(char,size)可以输入char类型字符串,遇到换行符自动结束,但不读取换行符
cin.getline(char,size)可以输入char类型字符串,遇到换行符自动结束,但读取换行符并将其转化为空字符储存起来。
getline(cin,string)可以输入string类型字符串,遇到换行符自动结束,但读取换行符并将其转化为空字符储存起来。
注意:
1.cin.get()单独这条命令可以读取下一个字符,用于处理换行符存在队列中的情况。
2.cin>>流可以跳过开始的换行符,空格和制表符而读取字符串。
举例
using namespace std;
int main()
{char a[80], c[80];string b;cin >> a;getline(cin,b);cout << a << " " << b;while (1);
}
如果我输入sad并敲下回车,立刻就输出sad,但显然这不是我要的结果,这里有两种改法,一种是在cin>>a;后面加cin.get();
另一种是将getline(cin,b)改为cin>>b;
这两种改法显然是第一种好,第二种无法面对行输入。