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

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