假设我们有一个代码: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贡献1951条经验 获得超3个赞
默认情况下,它跳过所有空格(空格,制表符,换行等)。您可以更改其行为,也可以使用稍有不同的机制。要更改其行为,请使用manipulator noskipws,如下所示:
cin >> noskipws >> a[i];
但是,由于您似乎想查看各个字符,因此建议get您在循环之前使用,例如
cin.get( a, n );
注意: get如果找到换行符(\n)或在n-1个字符之后,它将停止从流中检索字符。它会提早停止,以便可以将空字符(\0)附加到数组中。您可以在此处阅读有关该istream接口的更多信息。
- 3 回答
- 0 关注
- 336 浏览
添加回答
举报
0/150
提交
取消