我通过 open_memstream() 创建一个流,填充它然后读取。效果很好。但我很困惑函数文档说:“open_memstream() 函数打开一个流以写入缓冲区”。但我也能读懂。我是否以正确的方式使用它?也许我可以读取流,因为我的平台中的函数实现允许这样做?当我更改平台时,我可能会收到错误。
但我也能读懂。我是否以正确的方式使用它?
不,不是真的。 Posix 指定 open_memstream() 仅用于输出。你只需要写信给它。您可以访问数据
您可以通过 open_memstream() 创建的缓冲区进行写入,但不能使用 fread()、fgets() 或类似方法。
Use fmemopen http://pubs.opengroup.org/onlinepubs/9699919799/functions/fmemopen.html() 如果你想要一个流,你也可以从中读取。
也许我可以读取流,因为我的平台中的函数实现允许这样做?
是的,这可能是实现的一个功能,允许您也从 FILE* 中读取,请检查其文档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)