關於C++讀取帶空格字符串的方法,你知道哪些呢?ios
cin是C++中最經常使用的輸入語句,當遇到空格或者回車鍵即中止面試
如:算法
#include <iostream>函數
#include <string>學習
using namespace std;spa
int main().net
{視頻
chara[50];blog
cin>>a;ci
cout<<a<<endl;
return0;
}
輸入:abcd遇回車輸出abcd
缺點:只能輸入沒有空格的字符串,當輸入中含有空格,則只能輸出空格以前的字符
輸入:I love China輸入空格時輸入並未中止,遇回車輸入中止,輸出I,空格後面的均未輸出。
能夠無限讀取,以回車結束讀取,C語言中的函數,在C++中運行會產生bug。
如:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
chara[50];
cin>>a;
gets(a);
cout<<a<<endl;
return0;
}
輸入:I love China回車結束輸入,輸出結果爲love China。首字符自動丟棄。
若定義變量爲string類型,則要考慮getline()函數。用法以下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
stringa;
getline(cin,a);
cout<<a<<endl;
return0;
}
輸入:I love China回車並未結束輸入,需回車兩次才能結束輸入,輸出結果爲:I love China.
cin.get()函數能夠接收空格,遇回車結束輸入。
#include <iostream>
using namespace std;
int main()
{
chara[50];
cin.get(a,50);
cout<<a<<endl;
return0;
}
輸入:I love China回車結束輸入,輸出結果爲I love China。
cin.getline()函數能夠同cin.get()函數相似,也可接收空格,遇回車結束輸入。
#include <iostream>
using namespace std;
int main()
{
chara[50];
cin.getline(a,50);
cout<<a<<endl;
return0;
}
輸入:I love China回車結束輸入,輸出結果爲I love China。
以上這篇C++讀取帶空格字符串的方法就是小編分享給你們的所有內容了,但願對你們有所幫助。
原文連接:https://blog.csdn.net/good_luck512233/article/details/52791005
最後,特別推薦一個分享C/C++和算法的優質內容,學習交流,技術探討,面試指導,簡歷修改...還有超多源碼素材等學習資料,零基礎的視頻等着你!
還沒關注的小夥伴,能夠長按關注一下: