标签:办公软件技巧,软件测试面试技巧,办公软件使用技巧,http://www.duowen123.com
在DOS下查看WPS文件,
要在DOS下查看WPS文件,必须解决下面几个问题:1.去掉长度为1024字节的WPS文件的文件头;2.过滤掉ASCII码0-19H中除回车、换行外的字符(如分页符);3.过滤掉ASCII码80H-0A0H之间的编码(WPS文件中的特殊控制符,如字体字号等各种排版编辑控制符);4.将软回车符换为硬回车。本程序用TURBO C 2.0编写,在386/DX40机,DOS 3.30下,486/DX66,DOS 6.22下通过,中文环境为UCDOS 3.1。程序清单如下,用法为:若要在DOS下查看WPS文件,键入TYPEWPS 文件名1即可;若要将WPS文件转换为文本文件键入TYPEWPS 文件名1 文件名2即可。其中,TYPEWPS为本文件名(读者也可另外命名),文件名1为欲查看的WPS文件,文件名2为转换为文本文件后的文件名。若只键入TYPEWPS,程序会自动提示正确的使用格式。
/*文件名TYPEWPS.EXE*/
#include<stdio.h>
main(int argc,char *argv[])
{
FILE *fp1,*fp2;
int ch,bh=0;
if(argc==1)
{
printf("Usage:%s Infile [outfile]\n",argv[0]);
/*若只有TYPEWPS则用中英文提示正确的使用格式*/
printf("用法:%s 文件名1.后辍名 [文件名2.后辍名]\n",argv[0]);
getch();
exit(0);
}
if((fp1=fopen(argv[1],"rt"))==NULL)
{
printf("Cannot open %s\n",argv[1]);
getch();
exit(1);
}
if (argc==2)
fp2=stdout;/*若只有文件名1.后辍名,在屏幕上显示*/
else /*若有文件名2.后辍名,则将文件名1.后辍名转换为文本文件*/
if ((fp2=fopen(argv[2],"wt+"))==NULL)
{
printf("Cannot open %s\n",argv[2]);
getch();
exit(1);
}
fseek(fp1,1024L,0);/*去掉长度为1024字节的WPS文件的文件头*/
while((ch=fgetc(fp1))!=EOF)
{
if((bh==0x8d)&&(ch==0x8a))/*滤掉软回车,换为硬回车*/
fputc('\n',fp2);
else
{
if ((ch<0x7f)||(ch>0xa0))/*滤掉特殊控制符*/
{
if ((ch==0x0d)||(ch==0x0a)||(ch>=0x20))/*滤掉ASCII码0-19H中除回车,换行外的字符*/
fputc(ch,fp2);
}
bh=ch;
}
}
fclose(fp1);
fputc(ch,fp2);
fclose(fp2);
}
,在DOS下查看WPS文件