이진 파일은 텍스트 파일과는 달리 텍스트 형식이 아닌 이진 데이터로 이루어진 파일입니다. 이진 파일을 읽고 쓰는 것은 텍스트 파일과는 다소 다른 접근 방식이 필요합니다. 이 글에서는 C 프로그래밍 언어를 사용하여 이진 파일의 입출력에 대해 알아보겠습니다.
이진 파일 입출력 개요
이진 파일 입출력은 텍스트 파일과는 달리 데이터를 사람이 직접 읽기 어려운 형태로 저장합니다. 이진 파일을 읽거나 쓸 때는 파일의 데이터를 순수한 0과 1의 비트로 다루는 것이 일반적입니다. C 프로그래밍에서는 fread
와 fwrite
함수를 사용하여 이진 파일을 읽고 씁니다.
파일 열기와 닫기
이진 파일을 다루기 위해서는 먼저 파일을 열어야 합니다. 파일을 열 때에는 fopen
함수를 사용하며, 작업을 마치면 fclose
함수를 사용하여 파일을 닫아야 합니다.
FILE *file = fopen("binaryfile.bin", "rb"); // 이진 파일 읽기 모드로 열기
// 파일 읽기 또는 쓰기 작업 수행
fclose(file); // 파일 닫기
이진 파일 읽기
파일에서 데이터를 읽어오려면 fread
함수를 사용합니다. fread
함수는 파일로부터 데이터를 읽어와 메모리에 저장합니다. 예를 들어, 아래와 같이 사용할 수 있습니다.
FILE *file = fopen("binaryfile.bin", "rb");
if (file != NULL) {
int data;
fread(&data, sizeof(int), 1, file); // int 형 데이터를 1개 읽어옴
printf("%d\n", data);
fclose(file);
}
이진 파일 쓰기
이진 파일에 데이터를 쓰려면 fwrite
함수를 사용합니다. fwrite
함수는 메모리에 있는 데이터를 파일에 씁니다. 예를 들어, 아래와 같이 사용할 수 있습니다.
FILE *file = fopen("binaryfile.bin", "wb");
if (file != NULL) {
int data = 123;
fwrite(&data, sizeof(int), 1, file); // int 형 데이터 1개 쓰기
fclose(file);
}
정리
이진 파일 입력 및 출력을 위해서는 fread
및 fwrite
함수를 사용하여 파일에 데이터를 읽거나 써야 합니다. 파일을 열 때에는 fopen
함수로 열고, 작업을 마치면 fclose
함수를 사용하여 파일을 닫아야 합니다. 주의할 점은 파일에 대한 입출력을 수행할 때, 데이터 형식 및 바이트 크기를 명확히 지정해야 한다는 점입니다.
이진 파일 입출력은 파일의 데이터를 원시적인 형태로 다루기 때문에, 주의 깊은 다루임이 필요합니다.
참고 자료
- C 프로그래밍 언어 문서: https://ko.wikibooks.org/wiki/C_%EC%96%B8%EC%96%B4_%EB%AC%B8%EB%B2%95/
- C 파일 처리 관련 레퍼런스 문서: https://modoocode.com/122
참고: 이진 파일 입출력에 대한 예시 코드는 상황에 따라 실제 상황과 다를 수 있습니다. 실제 상황에 맞게 적절히 수정하여 사용해야 합니다.