基於C 的錄入帶空格字串方法總結

2021-08-10 22:11:12 字數 495 閱讀 7879

在c++中,用cin做字串錄入時,如果遇到空格或回車就會錄入空格或回車之前的字串。所以如果需要錄入帶空格字串時,就需要一些其他的方法,下面是我從網上各處搜尋並嘗試總結的幾種常用的方法:

(1)cin.get(str, n);

該用法str是字元陣列名,n為錄入的長度。此方法錄入是可以錄入空格,而且不會出現字串越界影響後面字串的問題,值得注意的是此方法錄入字元陣列滿了後它會在最後自動補"\0",例如:cin.get(str, 5);//錄入4個字元,最後補"/0"。

(2)gets(str);

該用法str是字元陣列名。此方法也可以錄入空格,但缺點是會出現字串越界,導致影響後面的變數,此方法不會自動在末尾補零。

(3)cin.getline(str,n);

此用法和cin.get用法一致

暫時就總結這麼多,下次在補充,嘻嘻

C 連續輸入帶空格的字串

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

讀取帶空格,回車的字串

一般用gets 就能實現讀帶空格的,但有時候,不知道為啥,用gets會莫名出錯。千萬不要用gets 這裡來說說cin.get c 的題居然考的這 如 讀取 tom hanks 18 7817 80 80 90 70 includeusing namespace std int main char a...

C C 輸入帶空格的字串

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