[c] 이진 파일 입출력

이진 파일은 텍스트 파일과는 달리 텍스트 형식이 아닌 이진 데이터로 이루어진 파일입니다. 이진 파일을 읽고 쓰는 것은 텍스트 파일과는 다소 다른 접근 방식이 필요합니다. 이 글에서는 C 프로그래밍 언어를 사용하여 이진 파일의 입출력에 대해 알아보겠습니다.

이진 파일 입출력 개요

이진 파일 입출력은 텍스트 파일과는 달리 데이터를 사람이 직접 읽기 어려운 형태로 저장합니다. 이진 파일을 읽거나 쓸 때는 파일의 데이터를 순수한 0과 1의 비트로 다루는 것이 일반적입니다. C 프로그래밍에서는 freadfwrite 함수를 사용하여 이진 파일을 읽고 씁니다.

파일 열기와 닫기

이진 파일을 다루기 위해서는 먼저 파일을 열어야 합니다. 파일을 열 때에는 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);
}

정리

이진 파일 입력 및 출력을 위해서는 freadfwrite 함수를 사용하여 파일에 데이터를 읽거나 써야 합니다. 파일을 열 때에는 fopen 함수로 열고, 작업을 마치면 fclose 함수를 사용하여 파일을 닫아야 합니다. 주의할 점은 파일에 대한 입출력을 수행할 때, 데이터 형식 및 바이트 크기를 명확히 지정해야 한다는 점입니다.

이진 파일 입출력은 파일의 데이터를 원시적인 형태로 다루기 때문에, 주의 깊은 다루임이 필요합니다.

참고 자료

참고: 이진 파일 입출력에 대한 예시 코드는 상황에 따라 실제 상황과 다를 수 있습니다. 실제 상황에 맞게 적절히 수정하여 사용해야 합니다.