3.9 G 파일을 open 하려고 합니다.
글쓴이: lunarainbow / 작성시간: 화, 2003/10/28 - 12:26오후
SourceFP = fopen(argv[1], "r"); if ( SourceFP == NULL ) { printf("%s 안열린데..\n", argv[1]); exit(0); }
이처럼 아주 평범하게 오픈을 하려 합니다.
그런데 문제는 파일 크기가 3.9G 의 텍스트 파일 이라는 것인데,
덕분에 계속 실패하게 됩니다.
어떻게 해줘야 할까요?
들리는 소문에 의하면,
#define _FILE_OFFSET_BITS 64
이런것을 선언해 주면 가능해 진다고 하던데, 역시나 더군요... :(
텍스트 파일로부터 1라인씩 가져와 작업을 해야 하는데, 귀찮더라도 굳이 fopen 말고, open 함수를 이용해야 할까요??
Forums:
Re: 3.9 G 파일을 open 하려고 합니다.
stdio.h 에 fopen64 함수가 있으면 그것을 쓰시면 될 것 같은데요.
다른 방법으로는, 테스트는 안해봤는데, open (또는 open64)로 2GB이상의 파일을 열고, fdopen 을 쓰는 것도 가능할 지 모르겠구요.
Orion Project : http://orionids.org
이것으로 한번 해보세요.[quote]fopen64(3) f
이것으로 한번 해보세요.
--
Minimalist Programmer
감사합니다. ^^fopen64 라는 함수를 사용하니, 바로 해결
감사합니다. ^^
fopen64 라는 함수를 사용하니, 바로 해결 되네요.
이런 함수가 있는줄 미처 몰랐었네요.
그런데 fopen64 라는 함수는 리턴값 케스팅을 해줘야 하는것 맞는지 모르겠네요..
이렇게 하지 않으면 워닝이 발생하네요. ^^
댓글 달기