APUE1--3.8-3.10wirte、read函数以及IO效率

1read函数

#include<unistd.h>

ssize_t read(int fd,void* buf,size_t nbytes)

返回值:读到的字节数,若已到文件尾,返回0;若出错,返回-1

2write函数

#include<unistd.h>

ssize_t write(int fd,const void *buf,size_t nbytes)

返回值:若成功,返回已写的字节数,若出错,返回-1

3IO效率

利用read和write函数复制一个文件

#include “apue.h”

#define BUFFSIZE 4096

int main(void){

  int n;

  char buf[BUFSIZE];

  while((n=read(STDIN_FILENO,buf,BUFFSIZE))>0)

    if(wirte(STDOUT_FILEN),buf,n)!=n)

      err_sys("write error");

  if(n<0)

    err_sys("read error");

  exit(0);

}

原文地址:https://www.cnblogs.com/daibigmonster/p/7517679.html