C C 中輸入帶空格的字串用法總結

2021-08-09 12:41:52 字數 736 閱讀 3103

在c/c++中,傳統的輸入流scanf(「%s」,&str) 和cin>>str,遇到空格會返回空格之前的字串。但是在很多應用中,我們需要字串中可以同時包含空格,那麼前面的兩種方法現在就不可用了,在c/c++中給我們提供了那些輸入流處理方式呢。下面是我總結的幾種常用的方法:

(1)gets(char *str)

需要包含標頭檔案#include

(2)scanf("%[^\n]]",str)

需要包含標頭檔案#include ,這種方法需要對正規表示式有一定的理解,例如:scanf("%[a-z a-z 0-9]",str)表示只匹配輸入是大小寫字母和數字。

(3)getline(cin,string str)

需要包含標頭檔案#include ,因為getline是string類成員物件,例如string::getline,其中第乙個引數要求是輸入流物件的引用&istream。

(4)cin.getline(char *str, int maxnum)

需要包含標頭檔案#include ,因為這裡的getline是輸入流的成員物件,如:istream::getline.

下面是測試用例**:

#include 

#include

#include

using

namespace

std;

int main()

C C 輸入帶空格的字串

機試的時候碰到的問題,當時腦子卡克到想不出來怎麼處理,用了一種賊複雜的方法,現在整理下!include include int main 一句gets解決的事情,我居然tm沒想起來。太羞恥了 include include int main include include int main incl...

C C 中帶空格的字串的輸入

對於字元陣列 方法一 getline 讀入整行資料,使用回車鍵輸入的換行符來確定輸入結尾。呼叫方法 cin.getline str,len 第乙個引數str用來儲存輸入行的陣列名稱,第二個引數是要讀取的字元數。方法二 cin.get str,len 兩者都是讀取一行輸入,直至換行符。然後,getli...

C 連續輸入帶空格的字串

測試檔案 測試1 include include include using namespace std int main 測試結果 顯然cin s不能夠接受空格的輸入 測試2 include include include using namespace std int main 測試結果 顯然g...