【问题标题】:How to convert a file stream to string in C?如何在C中将文件流转换为字符串?
【发布时间】:2019-02-18 21:33:25
【问题描述】:

我正在使用将输出信息写入文件指针流的系统函数。

func(FILE *__fp)

我需要在我的程序中使用此信息,而不是将其打印到文件中。为此,我想创建一个tmpfile() 并写入它,然后从中读取。但是有没有更好的方法来获取这些信息?

【问题讨论】:

标签: c linux file-io


【解决方案1】:

有一些特定于操作系统的解决方案可以写入内存缓冲区而不是文件,例如 POSIX fmemopenopen_memstream(考虑到您的 linux 标签,这两者都应该非常有用)。

您也可以使用setvbuf 将内部缓冲区更改为您自己的。


在不相关的注释中:以下划线开头并后跟另一个下划线(例如您的__fp 参数)的符号是保留。此类符号只能由“实现”使用,即编译器和库。

【讨论】:

  • 是的。我指的函数是 malloc_info,它是一个 malloc 库函数。
猜你喜欢
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-05
相关资源
最近更新 更多