c 讀入整行字符,包括中間的空格。

2021-08-31 16:04:57 字數 596 閱讀 2518

寫程式時,有時需要一次輸入一行字串,中間包含空格,

cin >> s;
這樣不能讀入空格,比如輸入 「123  123」 . s 只等於 「123」  ..。遇到空格就結束了。

while (c = getchar() != c!='\0')
最笨的方法是用getchar()乙個字元乙個字元的接受。

而c++裡提供了更好的方法

getline() ;

string s;

getline(cin, s);

cout << s << " " << s.size() << endl;

char a[100];

cin.getline(a,100);

cout << a << endl;

while(a[len] != '\0') len++;

cout << len << endl;

getline() 可以接受空格 , ,遇到回撤才算結束,並將緩衝區的  『\n』 刪除掉,

上面是用string和字元陣列的兩種形式,顯然string類更方便。

C 中空格的讀入與輸出

對一些剛剛接觸c 程式設計的朋友來說,可能會遇到一些小問題,如 在進行字串或單個字元的輸入過程中,明明輸出了空格,卻在顯示的時候 失蹤 了。空格怎麼會 失蹤 讓我們先來看看下面這個例程 程式功能 讀入和輸出字串 include iostream include string using namesp...

c語言讀入帶空格的字串 (C語言)輸入輸出

計算乙個輸入整數的十進位制表示位數 單純使用printf一族函式實現 分析 printf函式的返回值是在螢幕上列印了多少個字元,這個可以用作輸出的位數。只使用scanf一族函式,讀入有空格的字串 分析 本身scanf是讀到空格結束的,可以使用正規表示式,規定結束符號 格式 033 屬性 m 輸入內容...

C 讀取輸入的一行字元包括空格語法

大家在學習c 程式設計時,一般在輸入方面都是使用的cin.而cin是使用空白 空格,製表符和換行符 來定字串的界的。這就導致了對於帶有空格的字串,比如 i love c 奮鬥樂園論壇 只能讀入 i 後面的都無法讀入。這時怎麼辦?一.對於字元陣列 方法一 getline 讀入整行資料,它使用回車鍵輸入...