以下のc言語のプログラムがうまく実行されません。 ファイルのインポートや設定もやっています。 入力データの特定の文字を置換するプログラムです。 #include <stdio.h> #define WIDTH 80 void fillchar(FILE *fp, char c); void flushline(FILE *fp, char *bp, int l); int main(int argc, char *argv[]) { FILE *fpi, *fpo; int meta = 0; int ch; if(argc != 3) { fprintf(stderr, "Illegal number of argument.¥n"); return(-1); } if((fpi=fopen(argv[1], "r"))==NULL) { fprintf(stderr, "Can't open input file <%s>.¥n", argv[1]); return(-1); } if((fpo=fopen(argv[2], "w"))==NULL) { fprintf(stderr, "Can't open output file <%s>.¥n", argv[2]); return(-1); } while((ch=fgetc(fpi))!=EOF) { if(meta==1) { switch(ch) { case '\\': case '#': case '$': case '%': case '&': case '_': case '{': case '}': fillchar(fpo, ch); break; default: fillchar(fpo,'\\'); fillchar(fpo,ch); break; } meta=0; }else if(meta==2){ if(ch=='\''){ fillchar(fpo, '"'); }else{ fillchar(fpo, ch); } }else if( ch =='\\'){ meta=1; }else if( ch == '\''){ meta=2; }else{ fillchar(fpo,ch); } } fillchar(fpo, '¥n'); fclose(fpi); fclose(fpo); return (0); }
C言語関連