入力ファイルを出力ファイルにコピーする

#include

main(int argc, char *argv[])
{
 int c;
 FILE *infp,*outfp;

 if (argc != 3) { /* 引数の数が合わない時は,使い方を表示 */
  fprintf(stderr,”Usage: %s inputfile outputfile\n”, argv[0]);
  exit(1);
 } else {
  if ((infp = fopen(argv[1],”r”)) == NULL) {
/* 入力ファイルが開けない場合はエラー */
   fprintf(stderr,”%s: %s: No such file or directory\n”, argv[0],argv[1]);
   exit(1);
  } else if ((outfp = fopen(argv[2],”w”)) == NULL) {
/* 出力ファイルが開けない場合はエラー */
   fprintf(stderr,”%s: Cannot open %s\n”, argv[0],argv[2]);
   exit(1);
  } else {
   while ((c = getc(infp)) != EOF)
/* EOFが現れるまで入力ファイルから文字を読み */
    putc(c,outfp); /* 出力ファイルに書き込む */
   fclose(infp); /* 各ファイルを閉じる */
   fclose(outfp);
   exit(0);
  }
 }

 exit(0);
}

カテゴリー: C パーマリンク