//输入和输出
#include <unistd.h>//包含了STDIN_FILENO,STDOUT_FILENO,read,write
#include <stdio.h>
#include <stdlib.h>
#define BUFFSIZE 4096
int main(void){
int n;
char buf[BUFFSIZE];
//read函数返回读取的字节数,此值用于要写的字节数,当到达输入文件的
//尾端时,read返回的0,程序也就停止运行了,
//如果发生一个读的错误,read返回的是-1,出错时,大多的系统函数都返回-1
//
while((n=read(STDIN_FILENO,buf,BUFFSIZE))>0){
if(write(STDOUT_FILENO,buf,n)!=n){
printf("write error");
}
}
if(n<0){
printf("read error");
}
exit(0);
}
运行: ./a.out > data是表示的是将标准输入和错误是终端,标准输出则重定向至文件
./a.out < infile > outfile
是表示的是将文件infile复制到outfile