我通常只使用文件描述符。如果链接到它的 fd 用于其他目的,我不确定 FILE * 是否会继续正常工作。 FILE *和链接到它的fd是独立存在的吗?
最佳答案
在 POSIX 系统上,是的,fd 支持 FILE*
。关闭 FILE*
会关闭 fd。交错使用 fd 和 FILE*
有弄乱数据的风险(FILE*
执行 fd 绕过的用户模式缓冲);您必须要么禁用缓冲(使用 setvbuf
等),要么确保在任何内容直接写入 fd 之前可靠地刷新 FILE*
。否则,只要没有任何东西关闭 fd,FILE*
就应该继续工作。
关于c - 如果链接到它们的 fd 用于其他目的,FILE * 是否继续工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56596771/