下面是 K&R 的“The C Programming Language, Second Edition”一书中的一些代码的副本。我不知道这些 stdin
、stdout
、stderr
是如何定义和初始化的。请帮我解释一下。
FILE _iob[OPEN_MAX] = {
{0, (char *) 0, (char *) 0, _READ, 0},
{0, (char *) 0, (char *) 0, _WRITE, 1},
{0, (char *) 0, (char *) 0, _WRITE | _UNBUF, 2}
};
最佳答案
这段代码
FILE _iob[OPEN_MAX] = {
{0, (char *) 0, (char *) 0, _READ, 0},
{0, (char *) 0, (char *) 0, _WRITE, 1},
{0, (char *) 0, (char *) 0, _WRITE | _UNBUF, 2}
};
只是一个代码示例,可用于初始化 stdin
、stdout
和 的特定实现示例>stderr
文件结构。
它只不过是如何初始化特定示例实现,与任何 Linux、glibc、Windows 或任何其他现实世界的 FILE
无关您将遇到的实现。
您发布的代码的每个数组元素都有五个值,因为这是实现示例在其 FILE
结构中使用的值。这些元素及其值仅特定于该示例实现。
关于c - 为 stdin、stdout 和 stderr 定义和初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46537841/