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 |
댓글