该fopen
函数返回一个指向FILE
结构的指针,它应该被认为是一个不透明的值,而不处理它的内容或含义。
在 Windows 上,C 运行时是 Windows API 的包装器,fopen
函数依赖于CreateFile
函数。该CreateFile
函数返回 a HANDLE
,供其他 Windows API 使用。
现在,我需要在使用fopen
和FILE*
. 那么:有没有办法HANDLE
从FILE
结构中获取?由于这是特定于编译器的,我的意思是在 MSVC 运行时库上。
我知道这将是一个丑陋的、不可移植的 hack,如果 Microsoft 更改FILE
...的内部格式,它可能会崩溃,但我正在一个封闭的系统上开发(即在 Windows CE 嵌入式系统上)并重构库将是困难和耗时的。