C言語システムコール-read
readシステムコール
概要
readはファイルディスクリプタが示すファイルから指定バイト数(count)を上限としてバッファ(bug)にデータを読み込みます。
戻り値は読み込んだデータのバイト数が返され、ファイルの終端(EOF)を超えてreadすると戻り値を0とします。
端末やソケットなどからの読み込みにおいて、データが到着するまで処理を待ち合わせます。
サンプルプログラム
標準入力からデータを読み込みます。
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
int
main(void)
{
ssize_t rnum = 0;
ssize_t wnum = 0;
char buf[BUFSIZ] = {"¥0"};
rnum = read(0, buf, sizeof(buf));
if(rnum < 0){
printf("Error: read(%d) %s\n", errno, strerror(errno));
return(-1);
}
wnum = write(1, buf, rnum);
if(wnum < 0){
printf("Error: write(%d) %s\n", errno, strerror(errno));
return(-1);
}
if(rnum != wnum){
printf("Error: read/write(%d) %s\n", errno, strerror(errno));
return(-1);
}
return(0);
}
関連ページ
- C言語システムコール-open
- C言語システムコール-creat
- C言語システムコール-close
- C言語システムコール-read
- C言語システムコール-write
- C言語システムコール-lseek
- C言語システムコール-truncate
- C言語システムコール-rename
- C言語システムコール-mkdir
- C言語システムコール-rmdir
- C言語システムコール-link
- C言語
- C言語システムコール