您的位置:首页 > 编程语言 > C语言/C++

C++/C|输入处理

2016-05-08 12:22 302 查看
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;

}


输出:[b]int main()
[/b]

参考资料:http://blog.csdn.net/mylovepan/article/details/7940719
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  键盘输入 C++