在UNIX SHELL中
STDIN 的文件描述符为 0 ,表示标准输入,默认对应键盘
STDOUT 的文件描述符为 1,表示标准输出,默认对应显示屏终端
STDERR的文件描述符 为2,表示标准错误输出,默认对应显示屏终端
用法:
fprintf(STDOUT,"%s", "hello");
上行代码意思是将字符串"hello"以'%s”格式输出到STDOUT指向的文件中(即终端屏幕),此时屏幕上会显示"hello",STDERR用法类似
对于标准输出,其和标准输入一样,是行间缓存的,遇到换行时才会输出,而STDERR非缓存
比如:
fprintf(stdout, "This is stdout“);
fprintf(stderr, "This is stderr”);
首先输出"This is stderr”,再输出"This is stdout",如果在This is stdout后加上\n,则先输出This is stdout,再输出This is stderr
需要注意的是,在C中,程序执行时,STDIN、STDOUT和STDERR一直处于开启状态;STDIN、STDOUT和STDERR可以重定向到其他文件。