当前位置: 代码迷 >> 综合 >> cin,cin.get(char),cin.getline(char),getline(cin,string)在字符串输入的区别
  详细解决方案

cin,cin.get(char),cin.getline(char),getline(cin,string)在字符串输入的区别

热度:122   发布时间:2023-09-29 16:31:07.0

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;

这两种改法显然是第一种好,第二种无法面对行输入。

  相关解决方案