为stdin,stdout和stderr

时间:2017-10-03 05:40:26

标签: c

以下是本书中的一些代码的副本" The C Programming Language,Second Edition"由K& R.我不知道如何以这种方式定义和初始化这些stdinstdoutstderr。请帮我解释一下。

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}
};

1 个答案:

答案 0 :(得分: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}
};

只是可用于初始化stdinstdoutstderr FILE结构的特定实例的代码示例。

只不过是如何初始化特定的示例实现并且与任何Linux,glibc,Windows或任何其他真实世界FILE实现无关#&# 39;我曾经遇到过。

您发布的代码对每个数组元素都有五个值,因为这是实现示例在其FILE结构中使用的内容。这些元素及其值仅特定于该示例实现。