假設(shè)我們有一個代碼:int main(){ char a[10]; for(int i = 0; i < 10; i++) { cin>>a[i]; if(a[i] == ' ') cout<<"It is a space!!!"<<endl; } return 0;}如何從標準輸入中刪除空間符號?如果寫空間,程序?qū)⒑雎裕?(是否存在任何符號組合(例如'\ s'或類似的符號),這些符號意味著可以從標準輸入中使用“空格”作為代碼?
3 回答

飲歌長嘯
TA貢獻1951條經(jīng)驗 獲得超3個贊
默認情況下,它跳過所有空格(空格,制表符,換行等)。您可以更改其行為,也可以使用稍有不同的機制。要更改其行為,請使用manipulator noskipws,如下所示:
cin >> noskipws >> a[i];
但是,由于您似乎想查看各個字符,因此建議get您在循環(huán)之前使用,例如
cin.get( a, n );
注意: get如果找到換行符(\n)或在n-1個字符之后,它將停止從流中檢索字符。它會提早停止,以便可以將空字符(\0)附加到數(shù)組中。您可以在此處閱讀有關(guān)該istream接口的更多信息。
- 3 回答
- 0 關(guān)注
- 359 瀏覽
添加回答
舉報
0/150
提交
取消