1.问题:
string s;
cin>>s;
若s中含有空格则不会读入。
解释:
>> 是会过滤掉不可见字符(如 空格 回车,TAB 等) 。
cin不会读入空格;但是这并不表示cin不认识空格。实际上,当你输入string的时候,如果输入了空格或者其他的空白符号,那么cin就会认为这个string已经结束了,即使你后面继续输入,它也不管了。
解决:
string s;
string temp;
if(cnt==0)
{
getline(cin,temp); //如果不加这一句,那么在未输入s前,getline(cin,s);已经读入的某些东西到s中,故用temp把其吃掉。
}
getline(cin,s);
对应代码:EasySample.cpp C语言标识符的识别
2.代码:
char in[BUFFER_SIZE];
gets(in);
cout << in<< endl;
输入:
int main()
{
int a=5;
int b=3;
int sum=0;
sum=a+b;
return 0;
}
输出:int main()
参考资料:http://blog.csdn.net/mylovepan/article/details/7940719