read : 버퍼에 읽어들인 것을 저장.
리드에서 버퍼를 쓰는 개념을 공부하다 가지 의문이 들었었음.
ㄴ> 파일의 크기가 100이라 할 때, 버퍼의 사이즈가 1일때도 어떻게 읽을 수 있는가?
내가 정한 버퍼는 그냥 일시적인 저장소의 느낌이지 100을 다 담는 게 아닌 셈.
파일에서 읽어들인 문자열을 하나씩 확인하기 위해 3번 인자를 1로 주고, 처리.
리드함수는 하나씩 읽고 버퍼를 0인덱스부터 사이즈만큼 저장할 뿐이다. (계속 덮어쓰는 것으로 보임)
두번째 의문
buffer[index++]을 했을 때 하나의 문자열만 나오고 있으나, printf("%p",buffer)를 하면 하나씩 잘 뽑아내고 있었음.
ㄴ> 버퍼의 주소값이 이동하는게 아닌가 하는 생각을 하였으나, 사실은 버퍼의 주소값은 이동하지 않는다.
리드 함수 내부적으로 오픈되어 있는 상태일때 오프셋이 지속적으로 이동한다.
fd에 해당하는 오프셋이 이동하는 것이지 버퍼가 이동하는 것이 아님.