任意文件内汉字或英文信息的显示
例如某用户希望查阅压缩软件LHARC内信息:
C>XS LHARC.EXE 10
如果觉得显示的信息太细,可加大第二个参数的数值。一般说来,第二个参数数值愈大,显示的信息就愈少。如果利用DOS的重定向技术,还能将信息存入文件或打印输出,如:
C>XS LHARC.EXE 20>(文件名)或(PRN)
该程序的设计原理是:打开需要显示汉字或英文的文件后,读入字符并且判断该字符是否是可显示字符(0x20和0x7e之间)或者是汉字(大于0xal),然后存入数组str内,再根据第二个参数来确定是否在屏幕上显示该字符串信息。
/*XS<文件名>*/
/*使用方法:c>XS<文件名>字符长度*/
#include"stdio.h"
#include"ctype.h"
#include"stdlib.h"
main
(argc,argv)
intargc;char*argv[];
{file*fp;
char*str;int i,j,k;
if(argc!=3){
printf("usage:c>xs<filename><parameter>\n");
exit(1);}
if((fp=fopen(argv[1],"rb"))=null{
printf("can'topenfile\n");exit(1);}
while(!feof(fp)){
k=getc(fp);/*读一字符*/
i=0;
/*是否可打印字符或汉字*/
if(isprint(k)||k>0xal){
do{
/*将字符装入字符数组*/
str[i]=k;
i++;
k=getc(fp);}
while((isprint(k)||k>0xal)&&!feof(fp));
}
/*是否字符串长度超过argv[2]个*/
if(i>=atoi(argv[2])){
for(j=0;j<i;j++)printf("%c",str[j]);
printf("\n");}
}
fclose(fp);
exit(1);
}(江西 黄焕如)