C
POSIX 是否標準化文件描述符編號?
POSIX 是否要求
stdin
0、1stdout
和stderr
2 或者這只是一個約定?其他系統是否偏離了該約定,或者這是一個安全的假設?
似乎它們在 POSIX 規範中是標準化的,
標頭應為文件流定義以下符號常量:
+
STDERR_FILENO
stderr 的文件號;2. +STDIN_FILENO
標準輸入文件號;0。 +STDOUT_FILENO
標準輸出的文件號;1.
- 還有關於“ , , - 標準 I/O 流”狀態的POSIX 文件,
stderr``stdin``stdout
本卷 POSIX.1-2017 遵循 ISO C 標準。
三個預定義的流 stdin、stdout 和 stderr 在程序啟動時是無方向的。
似乎 ISO C 在這方面相對沉默,允許核心將它想要的任何內容分配給稱為 , 和 的
STDOUT
描述STDERR
符STDIN
。但是 POSIX 文件unistd.h
明確說明了他們應該在那個級別解決什麼問題。其他作業系統