永发信息网

C++ 删除多余的空格

答案:1  悬赏:20  手机版
解决时间 2021-02-10 07:21
#include<iostream>
#include<fstream>
using namespace std;
void remove_other_space(ifstream& in_stream, ofstream& out_stream);
int main()
{
ifstream fin;
ofstream fout;
cout<<"Begin editing files.\n";
fin.open("Exec6_6_in.dat");
if(fin.fail())
{
cout<<"Input file opening failed.\n";
exit(1);
}
fout.open("Exec6_6_out.dat");
if(fout.fail())
{
cout<<"Out put file opening failed.\n";
exit(1);
}
remove_other_space(fin, fout);
fin.close();
fout.close();
cout<<"End of editing files.\n";
return 0;
}
void remove_other_space(ifstream& in_stream, ofstream& out_stream)
{
char next;
in_stream.get(next);
while(!in_stream.eof())
{
while(next!=' ')
{
out_stream.put(next);
in_stream.get(next);
}
while(next==' ')
{
in_stream.get(next);
}
out_stream.put(' ');
}
}
我是这样写的,为什么结果会一直输出最后一个字符呢???
最佳答案
remove_other_space
嵌套里面的while用错了,这样会一直在转出不来
void remove_other_space(ifstream& in_stream, ofstream& out_stream)
{
char next;
in_stream.get(next);
while(!in_stream.eof())
{
if(next!=' ')
{
out_stream.put(next);
in_stream.get(next);
}
else
{
while(next==' ')
in_stream.get(next);

out_stream.put(' ');
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
修表开锁(德胜立交桥与德苑路交叉口北50米修
今年五,一放假吗
老婆最近和初恋男友天天聊微信到半夜我该怎么
南京香烟有哪几种和分别价格是多少?
修车开锁(文苑路与永泰路交叉口南150米停车场
心视界效果怎么样?
修锁配钥匙(北干山南路与萧绍路交叉口南50米
修锁配钥匙(体育场路53-4号附近修锁配钥匙)地
艺佳开锁(世纪大道西与汀雨路交叉口东南150米
云南省宣威市西泽乡迤必村朱梅芬的坐牢档案
大连开发区光伸市场好太太晾衣架,奸商嘴脸,
御匠开锁(凯旋路与华池北路叉口植物标本园斜
为民开锁(崇超路与府新街交叉口南100米为民开
小羊开锁(葛家路136号附近小羊开锁)地址在什
养殖黑山羊圈养100只,产房投资、养殖成本、
推荐资讯
停车场(财富金座南)地址在哪,我要去那里办事
完美宜悦空气净化器怎样关闭wifi
下列选项中,不属于定向资产管理业务特点的是
新尹美术学校(金塔路)地址在什么地方,我要处
我们的征途是星辰大海怎么写作文
碧波庭时尚养生地址好找么,我有些事要过去
法语语法 nous ne nous sommes pas vus depui
恒睿节能电子设备科技公司这个地址在什么地方
江南百货超市我想知道这个在什么地方
天马金店地址有知道的么?有点事想过去
戴尔 Inspiron 560s 台式电脑升级征求意见
如何评价小米5所谓的十项黑科技
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?