FREAD(3)

명칭
fread, fwrite - 바이너리 스트림 입출력

프로그램 라이브러리
libc

서식
<stdio.h> size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

해설
fread() 함수는, stream 하지만 가리키는 스트림로부터, 각각이 size 바이트의 크기의 오브젝트를 nmemb 개 읽어들여, ptr 그리고 지정된 장소에 보존합니다.

fwrite() 함수는, ptr 그리고 지정된 장소로부터, 각각이 size 바이트의 크기의 오브젝트를 nmemb 개 stream 하지만 가리키는 스트림에 기입합니다.

반환값
fread() 함수와 fwrite() 함수는, 읽고 쓰기한 바이트수만큼 스트림의 파일 위치 인디케이터(indicator)를 진행시켜 읽고 쓰기한 오브젝트수를 돌려줍니다. 에러가 발생했을 경우, 또는 파일의 종료에 이르렀을 경우는, 지정한 것보다 적은 오브젝트수 (또는 0)를 돌려줍니다.

fread() 함수는, 파일의 종료와 에러를 구별하지 않습니다. 파일의 종료인가 에러인지를 판단하기 위해서(때문에)는, 호출측이 feof(3) (와)과 ferror(3) (을)를 사용할 필요가 있습니다. fwrite() (은)는, 기입 에러가 발생했을 경우에 한해서 nmemb 보다 적은 값을 돌려줍니다.

관련 항목
read(2), write(2)

표준
fread() 함수와 fwrite() 함수는, isoC 에 적합하고 있습니다.