본문 바로가기
배워보자!!/리눅스

[linux] 리눅스 read() 함수

by norinda 2015. 5. 20.
728x90

#include <unistd.h>

read(int fd , void *buf , size_t count);


fd : open()으로 열린 파일지정번호

buf : 읽어들인 데이터를 저장할 공간

count : 읽어들일 데이터 크기 (byte 단위)


-read() 함수는 성공적으로 실행될 경우 0보다 큰 수를 반환합니다. 그리고 파일을 불러와 데이터의 끝에 갔을 때도 0을 반환합니다.




ex)

void main()

{

int fd;

char buf[100];

fd = open("test.txt" , O_RDONLY);

memset(buf , 0x00 , 100);  

// 데이터가 저장될 buf를 memset로 초기화 시켜준다. 이전 데이터가 그대로 남아 있을 수 있기 때문이다.

while((rd = read(fd , buf , 100-1)>0)  //널문자 ('\0')이 아닐 경우를 위해서 최대크기에서 -1 해준다.

{

printf("%s" , buf);

}

}

반응형

'배워보자!! > 리눅스' 카테고리의 다른 글

[linux] 리눅스 fopen(), fclose() 함수  (0) 2015.05.20
[linux] 리눅스 write() 함수  (0) 2015.05.20
[linux] 리눅스 open() 함수  (0) 2015.05.20
[linux] 리눅스 wait() 함수  (0) 2015.05.17
[linux] 리눅스 fork() 함수  (0) 2015.05.17

댓글