gpt4 book ai didi

c - FILE 结构成员在 C 中到底意味着什么?

转载 作者:行者123 更新时间:2023-12-02 04:21:55 25 4
gpt4 key购买 nike

typedef struct _iobuf{
char* _ptr;
int _cnt;
char* _base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char* _tmpfname;
} FILE;

我尝试打印它们,但我不明白它们的意思。这里What exactly is the FILE keyword in C?他说:“有些人认为,任何心智正常的人都不应该使用这个结构的内部结构。”但他没有解释它们的含义。

最佳答案

如果您想了解这些字段的含义,请查看系统运行时库的源代码,这些库实现了基于 FILE 的 IO 调用。

如果您编写的代码依赖于使用这些字段,那么它往好了说是不可移植的,往坏了说是完全错误的,而且肯定很容易被破坏。例如,在 Solaris 上,在正常的 libc 运行时库中至少有 FILE 结构的三种不同实现,其中一种实现(64 位实现)是不透明的,您无法访问任何 。只需更改编译器标志即可更改代码使用的 FILE 结构。

这只是单一操作系统的一个版本。

关于c - FILE 结构成员在 C 中到底意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29768610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com