2025-12-11 01:04:58 +09:00

35 lines
753 B
C

#include <stdio.h>
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;
}