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);
}