假設我們有一個代碼: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;}如何從標準輸入中刪除空間符號?如果寫空間,程序將忽略!:(是否存在任何符號組合(例如'\ s'或類似的符號),這些符號意味著可以從標準輸入中使用“空格”作為代碼?
3 回答

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