我每次将程序从文本里面直接帖到这儿老是成了乱七八糟,而且格式也没了,于是动手写了一个将文本文件转换为网页文件的小程序。程序考虑的并不周全,有错误之处,还望指出!
后又经过几次修改,最新程序如下:
后又经过几次修改,最新程序如下:
/*程序名: txt2htm.c*/
/*程序功能:将文本文件转换为HTML代码*/
/*使用格式:可执行文件名 源文件名 目标文件名*/
#include "stdio.h"
int main(int argc, char *argv[])
{ FILE *input, *output; /* input:源文件指针, output:目标文件指针 */
int c, i;
char *start="<HTML>/n<HEAD>/n<TITLE>UNNAME</TITLE>/n</HEAD>/n<BODY>/n<P>/n";
char *end="/n</P>/n</BODY>/n</HTML>/n";
if(argc!=3) /*参数个数不对*/
{ printf("the number of arguments not correct/n");
printf("/n Usage: filename source-file dest-file");
exit(0);
}
if ((input=fopen(argv[1],"r"))==NULL) /*打开源文件失败*/
{ printf("can not open source file/n");
exit(0);
}
if ((output=fopen(argv[2],"w"))==NULL) /*创建目标文件失败*/
{ printf("can not create destination file/n");
exit(0);
}
fputs(start, output);
/*复制源文件到目标文件中*/
while((c=fgetc(input))!=EOF)
switch(c)
{ case '/n':fputs("<BR>/n", output);break;
case '/t':for(i=0;i<8;i++) fputs(" ", output);break;
case ' ' :fputs(" ", output);break;
case '<' :fputs("<", output);break;
case '&' :fputs("&", output);break;
default : fputc(c,output);
}
fputs(end, output);
printf("/t%s created",argv[2]);
fclose(input);
fclose(output); /*关闭源文件和目标文件*/
return 0;
}