c - 如何通过fread函数读取char*字符串?

标签 c memory char fread

我们调用了一个库来读取文本,该库API仅接受FILE*指针。它实际上是通过内部调用 fread() 来读取文件文本的。

但是我们还需要使用这个库从 char* 字符串而不是 FILE* 读取文本。

当然,我们可以将 char* 字符串写入临时文件,但由于某些原因我们不允许这样做...

怎么办?谢谢!!

最佳答案

查看fmemopen

fmemopen() 函数应将 buf 参数给出的缓冲区与流关联起来。

#include <stdio.h>

static char buffer[] = "foobar";

int main (void)
{
  FILE *stream;

  stream = fmemopen (buffer, strlen (buffer), "r");

  /* You got a FILE* pointer, you can call your function here :-) */
}

关于c - 如何通过fread函数读取char*字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12420845/

相关文章:

c - 寻找一种将 Char * 分配给 Char 的方法

android - 如何创建虚拟(在内存中)SD 卡?

memory - PC启动内存测试

iphone - 仅发送到设备上已释放实例的消息

char* 数组初始化

c - 如何将字符更改为整数?

java - 把安卓手机变成 handle ,通过wifi连接电脑

c - 文件 I/O 未附加

c - realloc 失败的可能性有多大?

c - 我在cs50沙箱中混淆了两个程序?