微网站官网,网站制作公司网,wordpress能做任何网站,软文代写平台在unix系统调用中,标准输入描述字用stdin,标准输出用stdout,标准出错用stderr表示,但在一些调用函数,引用了STDIN_FILENO表示标准输入才,同样,标准出入用STDOUT_FILENO,标准出错用STDERR_FILENO.他们的区别#xff1a;stdin等是FILE *类型#xff0c;属于标准I/O#xff0c;…在unix系统调用中,标准输入描述字用stdin,标准输出用stdout,标准出错用stderr表示,但在一些调用函数,引用了STDIN_FILENO表示标准输入才,同样,标准出入用STDOUT_FILENO,标准出错用STDERR_FILENO.他们的区别stdin等是FILE *类型属于标准I/O在。STDIN_FILENO等是文件描述符是非负整数一般定义为0, 1, 2属于没有buffer的I/O直接调用系统调用在。下面一个例子是对STDOUT_FIFENO 和STDIN_FILENO的应用#include#define SIZE 100int main(void){int n;char buf[SIZE];while(nread(STDIN_FILENO,buf,SIZE)) //读取标准输入到buf中返回读取字节数。{if(n!write(STDOUT_FILENO,buf,n)) 把buf 写到标准输出中perror(write error);}if(n0) perror(read error);return 0;}如果按照常规的使用方法fanfan:~/arm$ gcc -o app stdout.cfanfan:~/arm$ ./appfdfefdfefefefeffefefef//输入一行马上输出一行也就是按照原样输出使用重定向来运行fanfan:~/arm$ ./app datafefefdadfdfadfdfef//输入的字符串并不是输出到终端而是输出到data文件中。fanfan:~/arm$ ./app datafanfan:~/arm$//这一句相当于把stdout.c复制到data中去STDOUT_FILENO和STDIN_FILENO在默认的情况下是终端使用ctrlD来输入文件结束符