回 帖 发 新 帖 刷新版面

主题:请各位大虾帮个忙

#include <iostream>
using namespace std;
int main()
{
    string word;
   while(cin>>word);
    cout<<word<<endl;
    return 0;
    system("pause");
}
请问上面这个程序为什么运行结果为什么只能把两个空格的字符加起来输出.
如我输入
abc def ghi 
而结果输出只能是abcdef
而不是abcdefghi
如我想要输出abcdefghi
应如何修改一下呢?
谢谢

回复列表 (共3个回复)

沙发

这个和 STL 的实现有关的,和 STL 的实现无关的写法如下:  

   string word,wordAppend;

   while(cin>>wordAppend){
        word.append(wordAppend);
        wordAppend.clear();
   }

板凳


刚入门不久,
不明白,
还有别的方法的吗?

3 楼

while(cin>>word){//把这里的分号去掉
    cout<<word;
    word.clear();
}
cout<<endl;

我来回复

您尚未登录,请登录后再回复。点此登录或注册