【问题标题】:Alternative declaring the file pointer instead FILE * pointer in C替代在 C 中声明文件指针而不是 FILE * 指针
【发布时间】:2014-11-10 21:10:16
【问题描述】:

我正在寻找一种不使用“FILE * 指针”来声明文件指针的替代方法,所以我的意思是不使用 IO 标准库函数,可能作为函数。

有了这个库很简单,但是没有这个库,这个函数怎么会看起来像。 有人可以给个建议吗?

【问题讨论】:

  • typedef FILE MY_FILE
  • 如果您不想使用 stdio,只需使用 POSIX 打开/读/写调用和整数文件描述符。
  • 您必须使用特定于操作系统的系统调用以及它们用于文件句柄的任何内容。
  • XY 问题。你需要什么?
  • 您在问如何在不使用螺丝刀的情况下拧螺丝。任何人都可以给您的最佳答案是“使用螺丝刀”;这就是它的用途。您要解决什么实际问题? meta.stackexchange.com/q/66377/167210

标签: c file pointers


【解决方案1】:

glibc 包含一个low-level file API,用于处理带有int 文件描述符的文件。

事实上,我认为如果您在 glibc 实现中将 FILE* 强制转换为整数,您将获得一个可用于低级文件 API 的文件描述符,反之亦然。

【讨论】:

  • 这完全是荒谬的。 FILE * 对象是指向内存中复杂结构的指针,文件描述符是一个简单的整数。事实上,您链接到的页面实际上描述了您在 FILE * 和文件描述符之间切换所需的库函数。
猜你喜欢
  • 2016-04-14
  • 2015-05-02
  • 1970-01-01
  • 2019-10-06
  • 1970-01-01
  • 1970-01-01
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多