반응형

바이너리 모드 입출력 2

표준 입출력 - 바이너리 모드 입출력 함수, fread, fwrite

프로세스의 메모리 상태를 파일에 기록해 두었다가 다음 실행 시점에 로딩하여 상태를 복원하는 것은 매우 흔한 일입니다. 이 때 텍스트 모드로 모든 멤버를 하나 하나 기록하여 로딩하는 것 보다 메모리를 덤핑하여 파일에 기록하고 로딩하는 바이너리 모드의 입출력 함수를 사용하는 것이 효과적입니다. 표준 입출력 라이브러리에서는 바이너리 모드의 입출력 함수로 fread와 fwrite를 제공하고 있어요. /********************************************************************** * ex_binio.c * * exmple source – test binary I/O * ******************************************************..

표준 입출력 - 텍스트 모드와 바이너리 모드 입출력

표준 입출력 라이브러리에서는 텍스트 파일에 문자를 기록하고 읽어올 때 사용하는 입출력 함수와 바이너리 파일에 메모리 값을 덤핑하는 입출력 함수를 제공합니다. 파일을 열 때 디폴트는 텍스트 모드로 열고 있으며 바이너리 모드로 열 때는 "b"를 추가하여야 합니다. 참고로 "t"는 텍스트 모드이지만 디폴트 모드여서 명시할 필요가 없어요. 두 가지 모드의 차이점은 텍스트 모드에서는 모든 데이터를 문자 형태로 기록하며 바이너리 모드에서는 메모리에 있는 내용 그대로 기록한다는 것에 차이가 있어요. 예를 들어 학생 번호가 38번이라고 할 때 텍스트 모드에서는 38을 출력 함수 내부에서 문자열 "38"로 변환하여 출력합니다. 바이너리 모드에서는 메모리에 있는 내용 그래도 기록합니다. 이를 메모장과 같은 응용을 통해 확..

반응형