有些文件带有很多乱字符,如从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,或简单地做成一个循环就能实现,将上边的程序编译后就生成了一实用的文本字符过滤工具软件。