不好意思,问个菜鸟问题,关于char类型的变量
我的一个程序中有这样一个问题,我把它简化出来void main(void)
{
char a[100];
cin>>a;
cout<<a<<endl;
}
然后运行,在屏幕中输入字符, 如果我输入没有空格的字符如:thisisatest然后按回车,没问题立即显示:thisisatest
但是如果输入带有空格的字符如:this is a test,则只会显示this,而空格后面的字符一概不会显示,但是如果直接在程序中给字符数组a中某一个元素赋值为空格,比如:a[1]=‘ ’;然后打印在屏幕上没有问题。这是怎么回事? 是不是在用cin语句输入字符变量时,在屏幕中输入空格系统会认为什么也没有输入吗?
我在作一个自己的string类,其中要重载操作符cin>> 想要达到的效果如下:
void main(void)
{
string a;
cin>>a;
cout<<a<<endl;
}
在屏幕中输入this is a test 应该立即显示this is a test,而不是this
请各位帮帮忙吧,有什么办法吗?