read함수 stdin 커맨드라인 입력시 반응
stdin 입력 대기 상태에서 글을 입력 후 엔터를 누르면 ‘\n’과 함께 stdin으로 입력이 된다.
그러면 read함수가 이를 읽어서 처리.
이때 read함수에 주어진 버퍼 사이즈보다 stdin에 있는 문자열의 갯수가 더 적으면 read함수는 그만큼만 읽어서 버퍼에 저장하고 읽은 갯수만큼만 return 값으로 반환한다.
ex)
buf_size == 10
01234567890123 타이핑한 후 컨트롤 + d 입력하여 eof 전달 -> read 함수의 첫번째 호출 때 10 반환
-> 두번째 호출 때 4 반환 (eof를 만나도 읽은 갯수만큼 return?)
* stdin을 커맨드라인으로 입력하는 경우 파일 입출력일 때 eof효과 기대하려면 stdin으로 eof만 보내야 함
파일 입출력 때도 read함수 호출하다가 마지막 읽는 것은 버퍼사이즈 이하의 갯수 읽고 더 이상 남은 게 없는 경우(남은 읽을 데이터가 0개), 그 다음 번 read호출 때 0 반환