stdin的int宏是什么?

21

stdinFILE * 类型,

它是否有一个名为 fd 的宏定义?

还是我需要自己进行转换?


1
你可以“猜测” stdin <==> 0; stdout <==> 1; stderr <==> 2 - pmg
1
没有必要猜测 - POSIX要求如此,因此您可以合法地直接使用这些数字。 - Michael Burr
4个回答

37


2
以下是标准流的整数文件描述符:
  • 0: stdin,表示标准输入流
  • 1: stdout,表示标准输出流
  • 2: stderr,表示标准错误输出流

0
#include<unistd.h>
#include<stdlib.h>
int main(){
    
    char ch;
    read(STDIN_FILENO,&ch,1);
    write(STDOUT_FILENO,&ch,1);

    exit(EXIT_SUCCESS);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接