#include int main(int argc, char *argv[]) { // 引数のチェック 3以外ならエラー if (argc != 3) { fprintf(stderr, "Usage: %s src dest\n", argv[0]); return 1; } // ファイルのオープン FILE *src = fopen(argv[1], "rb"); FILE *dst = fopen(argv[2], "wb"); // オープン失敗時のエラーチェック if (!src || !dst) { perror("File open error"); return 1; } // ファイルのコピー 4096バイトずつ書き込む char buf[4096]; size_t n; // 読み込みと書き込みのループ while ((n = fread(buf, 1, sizeof(buf), src)) > 0) { fwrite(buf, 1, n, dst); } fclose(src); fclose(dst); return 0; }