CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): terzeron (microkid)
날 짜 (Date): 2002년 10월  5일 토요일 오전 10시 39분 04초
제 목(Title): Re: read() 함수로 많은 양의 데이터읽기에


추측컨대, 프로그래밍의 오류같습니다. seek를 거꾸로
한다든가 해서 계속 같은 위치를 읽는다든가...

설마 read가 잘못 구현된 커널이라면 제대로 시스템이
동작할 리가 없습니다.

0바이트 사이즈의 파일에 대해서도 마찬가지로 1이
리턴됩니까?

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>

#define CHUNK 1024

int main()
{
    int nbytes;
    int fd;
    char buf[CHUNK];

    fd = open("test.txt", O_RDONLY);
    while (1) {
        nbytes = read(fd, buf, CHUNK);
        printf("nbytes=%d\n", nbytes);
        if (nbytes <= 0) {
            break;
        }
    }
    return 0;
}

---
어떤 성취가, 어떤 조롱이, 또는 어떤 고뇌가 나를 기다리고 있을지 나는 모른다. 
나는 아무 것도 모른다. 그러나 나는 아직 과거의 경이로운 기적의 시대가 영원히 
과거의 것이 되어 버리지는 않았다는 사실을 굳게 믿고 있다.  - Stanislaw Lem -
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.