35 lines
753 B
C
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;
|
|
}
|