字串與空格的恩怨情仇

2021-10-22 05:01:12 字數 1346 閱讀 4948

今天下午,又雙叒叕遇到了對字串的處理的題,這種題對字元的輸入要求很嚴格,本人寫到自閉。。。。。。

1.cin

以空格 製表符 以及 回車符結束

無法吸收空格 製表符 回車符

輸入結束後緩衝區會有乙個空格或回車符

2.scanf

格式輸入,以空格 製表符 回車符結束

可以吸收空格 製表符 回車,但不能將這些複製給變數(%c除外)

輸入結束後緩衝區會有乙個空格或回車符

3.gets

讀入一行,包括空格 製表符,以回車符結束

輸入結束後緩衝區會有乙個空格或回車符

4.getline

讀入一行,包括空格 製表符,以回車符結束

輸入結束後緩衝區會有乙個空格或回車符

和gets幾乎沒有區別,但gets比較危險,現在被停用(我也不知道為啥)

5.getchar

從緩衝區吸收乙個字元(前面反覆提到的緩衝區問題均可由次解決),可以吸收任何字元(包括空格 製表符 回車符)通常放在scanf 和cin,getline後面吸收緩衝區的空格及回車符,防止影響下乙個字元的輸入

特殊用法:for(i=0;(str[i]=getchar())!=』\n』;i++)

讀入一行資料,存入str中

1.cout

cout可以輸出string類,不能輸出char類

格式輸出:大佬版本

我的版本

2.printf

不能輸出string類

3.puts

puts的輸出十分簡單,輸出一行字串,將最後的『\0』當做』\n』處理,換行

puts也不能輸出string類

當然,針對字串的輸入輸出問題還有一堆,目前接觸比較多的是這些,暫時也只能想到這些,如果下次又遇到陌生的,會繼續補上。

以後這種問題,必拿下!!!

與 equals 的恩怨情仇

基本資料型別不用通過new關鍵字來建立變數,直接儲存 值 並置於堆疊中,更加高效。如 boolean char byte short int long float double void。引用資料型別通過new關鍵字來完成建立。如 string,integer 比較的是物件的引用。equals 適用...

jq與js的恩怨情仇

var is selected new array var obj is selected obj.each function e,v var obj is selected obj.each function e,v function setval inum var aform document....

get與post的恩怨情仇

get和post沒有本質上的區別,都是屬於http請求協議,但硬要說它們之間的區別,暫時概括了以下兩點 1.get請求的headers中沒有content type這個字段,post 的 content type 有兩種 這種就是一般的文字表單用post傳遞資料,只要將得到的data用queryst...