猿问

如何在C ++中cin空间?

假设我们有一个代码:


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'或类似的符号),这些符号意味着可以从标准输入中使用“空格”作为代码?


肥皂起泡泡
浏览 337回答 3
3回答

饮歌长啸

默认情况下,它跳过所有空格(空格,制表符,换行等)。您可以更改其行为,也可以使用稍有不同的机制。要更改其行为,请使用manipulator noskipws,如下所示:&nbsp;cin >> noskipws >> a[i];但是,由于您似乎想查看各个字符,因此建议get您在循环之前使用,例如&nbsp;cin.get( a, n );注意:&nbsp; get如果找到换行符(\n)或在n-1个字符之后,它将停止从流中检索字符。它会提早停止,以便可以将空字符(\0)附加到数组中。您可以在此处阅读有关该istream接口的更多信息。
随时随地看视频慕课网APP
我要回答