gpt4 book ai didi

c - 如何检查打开的文件是处于读取模式还是写入模式?

转载 作者:行者123 更新时间:2023-12-04 11:20:01 25 4
gpt4 key购买 nike

如何检查打开的文件是处于读取模式还是写入模式,即“r”或“w”?

请注意,该文件是使用 fopen 命令打开的,它必须以标准方式而不是特定于平台的 hack 方式打开。

编辑 1:

FILE 数据结构似乎是依赖于实现的。获取它的唯一方法必须在 FILE.flags 变量中,但是在我的 Mingw32 中,它只有 FILE._flags

最佳答案

正如 Ezequiel Garcia 提到的,每个 FILE 都有一个关联的文件描述符,您可以通过以下方式查询文件描述符的模式

const int word = fcntl(fd, F_GETFL);

现在一个关键点是如何从word进入打开方式。那是问题的主题 How to get the mode of a file descriptor?

我花了一些时间询问、修改和学习才能到达 the answer ,这留下了一些有趣的问题,以及手册页与实验结果之间的重大差距。

我建议您尝试在您的系统 (mingw32) 中使用我发布的代码,看看它会产生什么结果。它将帮助您编写(更多)可移植代码。

关于c - 如何检查打开的文件是处于读取模式还是写入模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37364907/

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