文本文件全角字符替换小工具 杨洪 1997-01-01   在输入文本文件时,经常会遇到英文字母和一些数字,这些字符如果用“全角”形式输出,不很美观。同时,有些字符也需要按“半角”形式输出,这样在输入时,需要频繁转换字符输出方式,很不方便。为此,本人利用Turbo C2.0编制了这个替换“全角”字符的工具程序。   附源程序如下:   /*替换文本文件中的全角形式的字符和数字*/   #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);   }}