注册 登录
编程论坛 C++教室

c++中,CIN输入的字符应该怎么显示

yt414204458 发布于 2014-03-14 13:24, 488 次点击
#include <iostream>
#include <string>

using namespace std;
int main()
{
    string str,result_str;
    while(cin>>str)
        result_str+=str;
    cout<<"The result is "<<result_str<<endl;
    return 0;
}
这个程序,我应该怎么输入啊,输入一个单词,中间需要加什么字符,然后再输入一个单词,最后要输入什么东西才能出来结果啊?
4 回复
#2
ml2325282014-03-14 15:06
cin>>str 返回cin。
while(cin>>str) 就是cin>>str然后while(cin)。
cin继承于basic_ios,而basic_ios有个函数是bool operator!( ) const;这个函数返回bool fail( ) const;函数的结果。
while(cin),就是判断while(!cin.fail())。也就是rdstate & failbit
好吧,其实我也不知道ios::failbit的标志在什么情况下被打上。


#3
rjsp2014-03-14 15:41
中间需要加什么字符
------ 加空白字符,C/C++标准中空白字符有:\t \n \v \f \r 以及 空格

最后要输入什么东西
------ 这个和C/C++无关,由平台控制。比如 windows的控制台是 CTRL+Z,linux下的是 CTRL+D
       然后还要回车,因为cin等是读输入缓冲区的
#4
yt4142044582014-03-14 19:12
回复 3楼 rjsp
好的,这个说的比较好理解,其实主要是最后的CTRL+Z之后还需要输入东西。。好像跟C有点区别,好久没动过程序了,已经经不清了
#5
rjsp2014-03-14 22:58
跟c是一样的
1