文本文件全角字符替换小工具
附源程序如下:
/*替换文本文件中的全角形式的字符和数字*/
#include "stdio.h"
main (int argc,char *argv[])
{FILE * fp,*fp1;
int str,i;
if (argc<3)
{ printf ("\n错误的命令格式!!\nn");
printf ("\n命令格式为:\n);
printf ("命令 [要转换的文本文件名] [转换后的文本文件名]\n");
printf ("请重新输入!\n\n");
exit(0);}
if ((fp=fopen (argv[1],"r"))==NULL)
/*源文件为空或出错则退出*/
{printf ("Cannot open %s\n",argv[1]);exit();}
if ((fp1=fopen (argv[2],"w"))==NULL)
/*打开目标文件为空或出错退出*/
{ printf ("Cannot open %s \n",argv[2]);exit();}
while ((str==getc(fp))!=EOF)
/*读取文件中字符进行判别*/
{ if (str==0xa3)
{ i=str;
str=getc(fp);
if ((str!=0xa1)&&(str!=0xac)&&(str!=0xba)&&(str!=0xbb)&&(str!=0xbf))
/*去掉一些标点符号*/
{ str=str0x80;
putc(str,fp1);}
else
{ putc(i,fp1);putc(str,fp1);}
}
else
{ if ((str<122)&& (str>0)
/*判别文中的半角字符和一些控制符*/
putc(str,fp1);
else
{ putc(str,fp1);str=getc(fp);putc(str,fp1);}
}}
fclose(fp);
fclose(fp1);
}}