stdin,0,STDIN 是不同的东西

Ang*_*gus -3 c unix

stdin 是一个指针吗,正如我在 fgets() 中看到的那样。

我使用“0”作为标准输入的读取或写入错误,并在 fgets 期间出现段错误。

STDIN宏和0是一样的吗?

stdin 是文件指针吗?请解释一下这一点

Max*_*Max 5

标准输入是FILE *来自stdio.h

STDIN_FILENO == fileno(stdin)
Run Code Online (Sandbox Code Playgroud)

STDIN_FILENO是 inunistd.h并用于 等函数write,而 stdin 作为文件 * 用于 stdio 函数,如printf