C++如何讀取帶空格字符串?這5種方法教會你


關於C++讀取帶空格字符串的方法,你知道哪些呢?

1. cin

cin是C++中最常用的輸入語句,當遇到空格或者回車鍵即停止

如:

#include <iostream>

#include <string>

using namespace std;

int main()

{

   chara[50];

   cin>>a;

   cout<<a<<endl;

   return0;

}

輸入:abcd遇回車輸出abcd

缺點:只能輸入沒有空格的字符串,當輸入中含有空格,則只能輸出空格之前的字符

輸入:I love China輸入空格時輸入並未停止,遇回車輸入停止,輸出I,空格后面的均未輸出。

2. gets()

可以無限讀取,以回車結束讀取,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。首字符自動丟棄。

3. getline()

若定義變量為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.

4.cin.get cin.getline

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。

5. cin.getline

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++和算法的優質內容,學習交流,技術探討,面試指導,簡歷修改...還有超多源碼素材等學習資料,零基礎的視頻等着你!

還沒關注的小伙伴,可以長按關注一下:


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM