C++输入方法:cin.get() cin.getline() getline()

1.cin.get()

(1)输入单个字符

char a;
a = cin.get();
cin.get(a);

(2)输入指定长度的char[]字符串,只能是char[],不能是string

char a[10];
cin.get(a,10);

(3)输入到arrayname字符数组中,当到达长度size时结束或者遇到字符s时结束,仍然只能是char[],不能是string

char a[10];
char s='_';
cin.get(a,size,s);

2.cin.getline()

cin.getline( a, size )
cin.getline( a, size, s)

两者和之前的区别在于是否会把分隔符从缓冲区删除,cin.getline()函数会将分隔符(s或者回车)删除,cin.get()则不会

3.getline()

接收一个字符串,可以接收空格并输出,与之前不同的是第一个参数可以是cin(标准输入),istringstream,stringstream

string str;
getline(cin,str);
getline(cin,str,s);

下面代码为翻转字符串,getline的第一个参数来自于stringstream。

    stringstream stream;
    string result = "guanhe zhangjiaxin",n,ans;
    stream << result;
    while(getline(stream,n,' '))
    {
        reverse(n.begin(), n.end());
        ans+=n+' ';
    }
    cout<<ans;

参考链接:
https://blog.csdn.net/qq_29735775/article/details/81165882
https://blog.csdn.net/sunshineacm/article/details/78068987

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章