在 C 标准库中,使用内存流(通过为数组创建fmemopen()
)的目的是什么?与直接操作数组相比如何?
user10082400
问问题
903 次
1 回答
0
这与在 C++ 中使用非常相似std::stringstream
,它允许您写入字符串(包括'\0'
字符),然后使用您想要的字符串。
这个想法是我们可以使用许多函数,例如fprintf()
,它们可用于以格式化的方式将数据写入流。所有这些功能都可以与基于内存的文件一起使用,而不需要在 to 之外的任何地方进行进一步的fopen()
更改fmemopen()
。
因此,如果您想创建一个需要 many 的字符串fprintf()
,使用该函数在内存中生成字符串非常有用。如果您只需要一次快速转换,snprintf()
也可以使用。
同样,你当然可以使用fread()
andfwrite()
之类的。如果您需要创建一个需要大量查找的文件,并且它不是那么大以至于可以轻松放入内存中,那么它的速度会快很多。完成后,您可以将结果保存到磁盘。
于 2022-01-29T22:02:40.827 回答