首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

很简单的有关问题,看你够不够细心

2012-03-28 
很简单的问题,看你够不够细心你能看出来这段程序的问题在哪吗?提示:该程序用于清除多余的空格.#includeio

很简单的问题,看你够不够细心
你能看出来这段程序的问题在哪吗?

提示:该程序用于清除多余的空格.
#include   <iostream>
#include   <fstream>
#include   <cstdlib>
#include   <cctype>
using   namespace   std;
int   main()
{
ifstream   fin;
ofstream   out;
char   ch= '   ';
fin.open   ( "in.dat ");
if(fin.fail   ())
{cout < < "opening     in   failed! " < <endl;exit(1);}
out.open   ( "out.dat ",ios::app);
if(out.fail   ())
{cout < < "opeing   out   failed! " < <endl;exit(1);}
while(fin.eof   ())
{  
while(ch== '   '||ch== '\t ')
fin.get(ch);
while(isalpha(ch))
{out < <ch;fin.get   (ch);}
out < < "   ";
}

fin.close   ();
out.close   ();
return   0;
}


[解决办法]
去掉:fin.get (ch);
最后成下如下代码:
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cctype>
using namespace std;
int main()
{
ifstream fin;
ofstream out;
char ch= ' ';
fin.open ( "in.dat ");
if(fin.fail ())
{cout < < "opening in failed! " < <endl;exit(1);}
out.open ( "out.dat ",ios::app);
if(out.fail ())
{cout < < "opeing out failed! " < <endl;exit(1);}
while(fin.eof ())
{
while(ch== ' '||ch== '\t ')
fin.get(ch);
while(isalpha(ch))
{out < <ch;}
out < < " ";
}

fin.close ();
out.close ();
return 0;
}

热点排行