【課題7−1】

 

(プログラム例)

#include <stdio.h>

#define MAX_LINE 256

int main(void) {

         char infile[40], outfile[40];

         FILE *fin, *fout;

         char s[MAX_LINE];

 

         /* コピー元とコピー先のファイル名の入力 */

         printf("Source file: ");

         scanf("%39s", infile);

         printf("Copy file: ");

         scanf("%39s", outfile);

 

         /* コピー元のテキストファイルを読み込みモードでオープン */

         if ((fin=fopen(infile, "r")) == NULL) {

                 fprintf(stderr, "Source file open error.\n");

                 return 1;

         }

         /* コピー先のテキストファイルを書き込みモードーでオープン */

         if ((fout=fopen(outfile, "w")) == NULL) {

                 fprintf(stderr, "Copy file open error.\n");

                 fclose(fin);

                 return 1;

         }

 

         /* finから1行読み込んで、foutに1行書き出す */

         /* それをfinの最後まで繰り返す */

         while (fgets(s, MAX_LINE, fin)!=NULL) {

                 fputs(s, fout);

         }

 

         /* ファイルのクローズ */

         fclose(fin);

         fclose(fout);

 

         return 0;

}