这个程序是要将一个文件规格化为每行不超过30个字符,如果一个单词未打完,则不换行.若未超过30个字符而遇到换行标志,则将其转换为空格.以下是我写的.编译通过,但是结果却不能写到输出文件.不知为何.望高手指点! /********************************************************** Format_note.c ***********************************************************/
#include "stdio.h" #include "ctype.h" #include "process.h" #define MAX 30
void format_note(FILE *,FILE *); /******************************************************** FORMAT_NOTE() ********************************************************/ void format_note(FILE *fp1,FILE *fp2) { int s; char c;
for(s=0;(c=getc(fp1))!=EOF;s++) {
if(s<30) { if(c=='\n') { c=' '; printf("%c",c); } else printf("%c",c); } else { if(isalpha(c)) printf("%c",c); if(c=='\n') { printf("\n"); s=0; } else { printf("\n"); printf("%c",c); s=1; } }
} } /******************************************************** MAIN() ********************************************************/
void main(int argc,char *argv[]) { FILE *ifp,*ofp;
if(argc!=3) /* */ { printf("Error!"); exit(1); }
ifp=fopen("arg[1]","r"); /* */ ofp=fopen("arg[2]","w"); format_note(ifp,ofp);
fclose(ifp); fclose(ofp); printf("All works has done!\n");
}
[此贴子已经被作者于2005-5-11 17:21:40编辑过]