c++中在循环输入语句中怎么以输入0结束循环的语句并且不换行
来源:蜘蛛抓取(WebSpider)
时间:2019-07-05 02:48
标签:
结束循环的语句
有時候我們在使用cin時 可能會遇箌想要輸入的字串中,包含空白、換行、tab
但是這會造成讀取資料與顯示時會有不完全存取。
cin 不會將換行字元 空白 tab鍵 讀入 這些空白都是拿來作為字串結束
接下來讓我們看看下列範例:
所以假設今天創了一個陣列 要讀入一行有空白間隔的字
那"C++"這串字會在哪?
會把之前存放在buffer的徝放到charry2 所以才會出現這個結果
那麼要如何改善 空白的問題
而這裡個func的差別在哪? 兩者都會讀入空白,不過:
get() => 則會將換行字元視為輸入資料
因為get() 會將換行字元讀入 所以在ENTER按下後 前面的字串會放置程式的變數中
可是換行字元卻會被留在buffer中 等待下一次輸入時 讀入因此就會被下一個cin.get吃進去
再來還有另一種方式表示:
這代表會回傳cin物件 然後以此物件再用作get函數的引數傳入
有時候我們在使用cin時 可能會遇箌想要輸入的字串中,包含空白、換行、tab
但是這會造成讀取資料與顯示時會有不完全存取。
cin 不會將換行字元 空白 tab鍵 讀入 這些空白都是拿來作為字串結束
接下來讓我們看看下列範例:
所以假設今天創了一個陣列 要讀入一行有空白間隔的字
那"C++"這串字會在哪?
會把之前存放在buffer的徝放到charry2 所以才會出現這個結果
那麼要如何改善 空白的問題
而這裡個func的差別在哪? 兩者都會讀入空白,不過:
get() => 則會將換行字元視為輸入資料
因為get() 會將換行字元讀入 所以在ENTER按下後 前面的字串會放置程式的變數中
可是換行字元卻會被留在buffer中 等待下一次輸入時 讀入因此就會被下一個cin.get吃進去
再來還有另一種方式表示:
這代表會回傳cin物件 然後以此物件再用作get函數的引數傳入