当前位置: 代码迷 >> C语言 >> 一个文本格式化的程序,应该是有点问题...
  详细解决方案

一个文本格式化的程序,应该是有点问题...

热度:183   发布时间:2005-05-11 17:16:00.0
一个文本格式化的程序,应该是有点问题...

这个程序是要将一个文件规格化为每行不超过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编辑过]

搜索更多相关的解决方案: 文本  格式化  

----------------解决方案--------------------------------------------------------
到底错在哪里呀?~~
----------------解决方案--------------------------------------------------------
  相关解决方案