fseek으로도 2GB이상의 파일이 액세스 가능하나요?
글쓴이: hiluciano / 작성시간: 금, 2012/12/14 - 7:16오전
fseek이 인수로 받는 long형이 한번에 탐색하는 범위를 제한한 것일뿐이지
파일 자체의 크기는 2GB가 넘어도 fseek이 가능하다던데 사실인가요?
그럼 아래와 같은 코드가 실행된다는 이야기인가요?
fseek(fp, 0, SEEK_SET);
for(int i = 0; i < 100; i++) fseek(fp, 0x7FFFFFFF, SEEK_CUR);
fseek(fp, 30, SEEK_CUR);
Forums:


64bit 환경에서는 long이 8바이트입니다.
그러므로 가능합니다.
아 물론 32bit 환경에서는 어떨지는 모르겠네요
.
음 ..
32-bit 시스템에서 large file 에 대한 접근이 필요한 경우에는 아래 define 을 추가하시고, fseek 대신 fseeko 를 쓰세요.
#define _FILE_OFFSET_BITS 64
(또는 CFLAGS 에 -D_FILE_OFFSET_BITS=64 추가)
off_t 가 64-bit 로 세팅되기 때문에 원하는 offset 에 접근 가능합니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
64비트에서는 long이 8바이트라고요?
fseeko가 윈도우에도 사용가능한가요?