开发者社区> 问答> 正文

哪位大神帮忙编写一个将输入复制到输出的程序,并将其中的多个空格用一个空格代替

#include <iostream>
#include <string>

using namespace std;

void main()
{
    cout<<"Please enter a word:"<<endl;

    istreambuf_iterator<char> beg(cin),end;

    if(cin.fail())
    {
        cout<<"Error!"<<endl;
    }
    else
    {
        string str(beg,end);
        size_t len=0;

        for(string::iterator sbeg=str.begin();sbeg!=str.end();++sbeg)
        {
            if(*sbeg==' ')
            {
                for(string::iterator tmp=sbeg;*tmp==' ';++tmp,++len);
                str.erase(sbeg,len+sbeg);
                str.insert(sbeg,' ');
                len=0;
            }
        }
        cout<<"The result is:"<<endl<<str<<endl;
    }

    system("pause");
}

展开
收起
a123456678 2016-03-05 14:35:16 2894 0
1 条回答
写回答
取消 提交回答
  • 这里有你要的答案https://www.cnblogs.com/Fsiswo/p/11142362.html

    2020-03-26 22:44:06
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载