我需要一种跨平台的方式将内存缓冲区视为FILE*
. 我已经看到其他问题指出没有可移植的方法来做到这一点(linux 中的 fmemopen 是我需要的,但它在 Windows 平台上失败)。
我试过使用 setvbuf,它似乎工作。谁能指出使用 setvbuf 函数的确切问题?
另外,我看过 C 标准草案 WG14/N1256 和 7.19.5.6 说:
任何时候数组的内容都是不确定的。
我不明白如果我使用自己的缓冲区,它的内容怎么可能是不确定的?
编辑:感谢所有的答案。不再使用这种方法。