CStdioFile은 주로 라인 단위로 읽고(ReadString) 쓰기(WriteString) 위해서 사용하고, CFile은 일반적으로 파일을 읽을 때 사용한다.
StdioFile의 Read는 fread로 읽어온다. CFile의 Read는 ReadFile로 읽어온다.
fread도 내부적으로는 ReadFile을 호출하여 사용한다. 하지만 다른것이 있는데, 만약 파일을 그냥 Read모드로 열었을 경우 파일 중간에 EOF(값 1A, 일부 편집기에서 [SUB]으로 표현될 수 있음)를 만나면 더이상 읽지 않는다.
fread 자체가 EOF(파일 끝)을 만나기 전까지 읽는 것이므로, 당연한 것이지만 꼭 fread를 써서 읽어야 한다면 fopen 시에 모드를 "rb" 즉 바이너리 모드로 열면 된다.
ReadFile은 버퍼가 충분하다면 파일 끝까지 그대로 읽어준다.
댓글 없음:
댓글 쓰기