read(2)

read(2)

#include <unistd.h>
ssize_t read(int fd, void buf[.count], size_t count);

description

fd 파일의 count바이트만큼을 읽어서 buf로 시작하는 문자열부터 담아주세요.

return value

성공시 읽은 바이트의 개수를 리턴합니다. EOF를 만날시 0을 리턴합니다. 리턴한 값만큼 file position을 증가시켜놓습니다. (file desciptor 안에 file position이 있나?)

count보다 작은 값이 리턴되면 읽다가 중간에 EOF를 만난 것일 수도 있고, 파이프를 통해 읽고 있었더라면 시그널에 의해 interrupt된 걸 수도 있습니다.

-1을 리턴하면 errno가 설정된겁니다.