Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 컴퓨터시스템개론
- 숭실대
- 우분투
- Linux
- Process
- wine
- 리눅스
- 운영체제
- 커널
- 쓰레드
- 미디어학부
- 학복위
- kernel
- 컴시
- Lock
- 함수
- logo
- Signal
- 와인
- 별지기
- 로고
- 파일io
- 안드로이드
- Android
- 학생복지위원회
- 프로세스
- 정기철
- 별
- 태그를 입력해 주세요.
- 로고 프로그램
Archives
- Today
- Total
두근두근이야기
read() 함수 본문
데이터를 파일에서 읽어오는 함수이다. 열린파일에서 자료를 읽을 때 사용한다.
현재 파일 offset에서 nbytes만큼의 데이터를 읽어 들인다.
파일에서 데이터를 읽은 후 파일 offset은 마지막으로 읽어 들인 byte만큼 옮겨 가게 된다.
#include<unistd.h> ssize_t read(int filedes, void *buf, size_t nbytes); 반환값: 읽은 바이트의수, 파일의 끝인 경우는 0, 오류시 -1 |
-read 호출이 성공하면 실제로 읽은 바이트 수가 반환됨
-파일의 끝을 읽으려 한 경우에는 0이 반환됨(파일offset이 이미 파일의 끝에 있는 경우)
-실제로 읽은 바이트 수(반환값)가 호출시 요청한 바이트 수(nbytes 인수)보다 작은 경우
정규 파일을 읽을 때, 요청된 수만큼의 바이트들을 읽기 전에 파일의 끝에 도달
터미널 파일에서 자료를 읽을 때
네트워크에서 자료를 읽을 때
파이프나 FIFO에서 자료를 읽을 때
레코드 기반 장치에서 자료를 읽을 때
요청된 크기의 자료 중 일부만을 읽은 상황에서 시그널에 의해 연산이 가로채였을 때
의 경우가 있음
다시 위 함수를 보면 정의에서 볼 수 있듯이 파일디스크립터(filedes), buf, nbytes인자를 취한다. buf는 읽어들인 데이터를 저장할 버퍼의 포인터이다. nbytes는 읽어들일 바이트 수이다. nbytes만큼 데이터를 읽어 들이게 된다.
'IT > IT ::Linux' 카테고리의 다른 글
우분투 터미널에서 컴퓨터끄기 (0) | 2013.04.02 |
---|---|
현재 프로세스 보기 및 죽이기 (0) | 2013.04.02 |
우분투에서 한영키!!!! (0) | 2013.03.17 |
[파일i/o] lseek 함수 예제 (0) | 2013.03.13 |
[파일i/o] lseek 함수 (0) | 2013.03.13 |