질문] 바이너리 파일열기.

sunbee의 이미지

저는 솔라리스 5.7 에서 작업을 하고있는데요..

바이너리모드로 file open을 할 수가없습니다.

my_file = open(file, O_RDONLY | O_BINARY);

이렇게 열어야 하는걸로 알고있는데요...

O_BINARY 모드 값이 없다고 에러가 뜨네염... ㅡㅡ;; (fcntl.h 에는 물론없구요.)

어떻게 해결할 수 있습니까??

arimae의 이미지

유닉스 계열에서는 binary 파일과 ascii 파일의 구분이 없습니다.
따라서 open 시에도 BINARY 라고 지정할 수 없습니다.(그런 모드자체가 없으므로 header에도 당연히 지정되어 있지 않겠죠.)

그냥 O_RDONLY 만 이용해서 파일을 오픈하시면 될것입니다.

Dream, Passion and Challenge..

new5244의 이미지

Unix 에서 파일을 열때 따로 Binary / text 를 구분하는 것은 없습니다.

파일 내용이 binary든 text 이든 동일한 방법으로 open(file, O_RDONLY) 해서 사용하구요.. 읽어들일때 파일 내용에 맞게 처리하면 됩니다.

from saibi