为什么不能用cin>>str?
ヾ(≧∇≦谢谢≧∇≦)ノ
1 回答
已采納

onemoo
TA貢獻883條經(jīng)驗 獲得超454個贊
你可以試試改成 cin >> 會如何。
改了的話,根本就讀不到空格了。
一般來說,>> 會跳過開始的“空白字符”并一直讀取到下一個“空白字符”為止,所謂空白字符是指空格、換行、tab等。 看起來你輸入的內(nèi)容肯定一開始就是空格。那么 >> str 的話,str 中就沒有前面的空格了。
而 cin.getline 函數(shù),如其名所示,會讀取所有的輸入內(nèi)容直到 '\n'(但 \n 不會被保存進 str)為止,或讀取了“第二個參數(shù)-1”個字符為止。? 所以用 getline 才能將開始的空格都保存進 str 中。
另外,你其實可以寫 cin.getline(str, 100) 的。因為它會考慮到結尾補 \0 字符,所以最多只會讀 100-1 個字符。
- 1 回答
- 0 關注
- 1243 瀏覽
添加回答
舉報
0/150
提交
取消