fopen()
我可以仅使用返回的指针检索有关先前打开的文件的信息吗?
我问的原因是我正在尝试为FILE *
s 编写一个 RAII 样式的包装类,并且我想让它尽可能通用,并且我为它想象的功能之一是类似复制的操作,这需要aFILE *
作为参数,并创建对同一文件的新引用。
dup()
在 POSIX 下,我可以使用/创建文件描述符的副本dup2()
,甚至可以通过fnctl()
'F_GETFL
操作了解文件是如何被访问的。但是,即使我对 a 的底层描述符这样做,FILE *
也不足以猜测流是文本还是二进制等属性(在 POSIX 下,没有真正的区别,但我想笼统地说),或者它的面向char
- 或 -wchar_t
基于文本的方向。
那么,有没有一种方法可以了解我即将为其创建包装器的流,我能走多远,我应该怎么做?
谢谢你的关注。