C_C++
(C언어) 이진 파일(binary file) 복사하기
고니자니
2023. 5. 17. 06:26
반응형
2진 파일을 복사하는 C언어 코드입니다.
원본 파일을 읽어서 버퍼에 저장하고, 버퍼에 저장된 내용을 파일에 저장합니다.
fopen 함수는 파일을 열었을 때, 오류가 발생하면 NULL을 반환합니다.
#include <stdio.h>
#define BUFFER_SIZE 1024
int main()
{
FILE *sourceFile, *targetFile;
char buffer[BUFFER_SIZE];
size_t bytesRead;
// 소스 파일 열기
sourceFile = fopen("abc.exe", "rb");
if (sourceFile == NULL)
{
printf("abc.exe 파일을 열 수 없습니다.\n");
return 1;
}
// 저장할 파일 열기
targetFile = fopen("bcd.exe", "wb");
if (targetFile == NULL)
{
printf("bcd.exe에 저장할 수 없습니다.\n");
fclose(sourceFile);
return 1;
}
// 소스 파일에서 데이터 읽고 대상 파일에 쓰기
while ((bytesRead = fread(buffer, 1, BUFFER_SIZE, sourceFile)) > 0)
{
fwrite(buffer, 1, bytesRead, targetFile);
}
fclose(sourceFile);
fclose(targetFile);
return 0;
}
반응형