Use _fileno
其次是_get_osfhandle
。别忘了_close
完成后即可。
编辑:我不清楚_get_osfhandle
WinCE 上支持。然而 WinCE 的文档_fileno
假设它返回“文件句柄”而不是“描述符”。 YMMV 但这表明你也许可以使用_fileno
在 WinCE 上直接返回值作为句柄。
编辑:#2 该理论得到了支持这个人的经历 http://www.equi4.com/pub/am/metakit/2002-February/000512.html.
“如果你看一下我 1 月 29 日发布到列表中的头文件
您可以看到我如何处理文件创建/处理问题。我没有
用句柄替换所有 FILE* 项。请参阅以下片段
文件io.cpp:
#ifndef q4_WCE
FlushFileBuffers((HANDLE) _get_osfhandle(_fileno(_file)));
HANDLE h = ::CreateFileMapping((HANDLE)
_get_osfhandle(_fileno(_file)),
0, PAGE_READONLY, 0, len, 0);
#else
FlushFileBuffers((HANDLE) _fileno(_file));
HANDLE h = ::CreateFileMapping((HANDLE) _fileno(_file),
0, PAGE_READONLY, 0, len, 0);
#endif //q4_WCE
事实证明 _fileno 返回一个句柄。你只需要施展它就可以了。”