使用不带缓存的I/O操作;
将标准输入复制到标准输出
#include "apue.h"
#define BUFFSIZE 4096
int main(void){
int n;
char buf[BUFFSIZE];
while((n = read(STDIN_FILENO,buf,BUFFSIZE)) > 0 )
if(write(STDOUT_FILENO,buf,n) != n )
err_sys("write error");
if(n<0)
err_sys("read error");
exit(0);
}
用标准IO将标准输入复制到标准输出
#include "apue.h"
int main(void)
{
int c;
while(( c = getc(stdin) != EOF )) / /getc 一次读取一个字符,然后putc将此字符写到标准输出,读到输出的最后一个字符时,getc返回EOF
if(putc(c,stdout) == EOF)
err_sys("outpur\t error");
if(ferror(stdin))
err_sys("input error");
exit(0);
}