用C++5.0编制字符过滤程序

发表于:2007-07-14来源:作者:点击数: 标签:
刘茂忠 有些文件带有很多乱字符,如从Interent上Down下来的文件存储成文本文件后多含有太多的换行符,如果要重新编辑成文稿,需要单个去掉这些换行符。笔者为此用C++5.0编制了一个小的处理程序,能够自动地去掉文本中的乱字符(以换行符为例),下边详解一下
刘茂忠

  有些文件带有很多乱字符,如从Interent上Down下来的文件存储成文本文件后多含有太多的换行符,如果要重新编辑成文稿,需要单个去掉这些换行符。笔者为此用C++5.0编制了一个小的处理程序,能够自动地去掉文本中的乱字符(以换行符为例),下边详解一下该程序。

  #include <iostream.h>
  #include <fstream.h>
  #include <stdlib.h>
  void main(void)

  { //定义两个文件流,打开和生成新文件

  fstream inputf,outputf;

  //以读方式打开c:\ll.txt

  inputf.open(″c:\ll.txt″,ios::in);

  //找不到文件提示出错信息

  if(!inputf){

   cout<<″打开文件错!″<<endl;
   abort(); }

  //定义生成的新文件名,并设置成写方式

  outputf.open(″c:\mm.txt″,ios::out);

   if(!outputf){ cout<<″打开文件错!″<<endl;
   abort();}

   //定义单字符变量onechar

   char onechar; //逐个字符读文件

   while(inputf.get(onechar))

  //如果不是换行符,写入文件mm.txt中,这样就去掉了换行符

  { if(onechar!=0x0a)

  outputf<<onechar;}
  outputf.close();

  //新文件c:mm.txt已生成

  inputf.close();

  cout<<″文件处理完毕并存盘,按任意键返回……″<<endl;
  cin.get();}

  利用上边的程序可以过滤文本中的任意字符, 只要频繁地更改赋值语句onechar!=0x0a,或简单地做成一个循环就能实现,将上边的程序编译后就生成了一实用的文本字符过滤工具软件。

原文转自:http://www.ltesting.net