3기가, 4기가 정도 되는 크기의 바이너리 파일을 fopen() 으로 열면 어떻게 되나요?
글쓴이: vudghkzm / 작성시간: 수, 2006/03/22 - 9:41오후
3기가, 4기가 정도되는 크기의 바이너리 파일이 있습니다.
이 파일을 열어서 한번에 n 바이트씩 읽어서 적당한 작업을 하려고 합니다.(언어는 C/C++)
문제는 fopen() 으로 파일을 열면 그 순간 파일의 데이타가 메모리로 로드되는가.. 아니면 read() 를 해야 로드되는가.. 하는 것입니다. 후자면 그리 큰 상관이 없겠지만, 전자일 경우에는 어떻게 될지 난감하네요.
만약 전자일 경우에..위와 같이 대용량의 파일을 열어서 한번에 n 바이트씩 읽어서 하는 작업일 경우에는 어떤 방법을 사용하는지 궁금합니다.
Forums:
후자 처럼 작동합니다
네 전자처럼 작동하면 난감하죠.
그래서 파일 입출력은 후자 처럼 작동합니다.
open 이 아니고 read 일때 내용을 디스크에서 읽어 옵니다.
다만 3~4 기가 파일(2기가 가 넘는 파일)은 ansi c 함수인 fopen fread 등을 그냥 사용해서는 접근 할 수 없습니다.
검색해 보시면 대용량 파일의 접근법에 대한 정보를 얻으실 수 있습니다.
댓글 달기