在C中将字符串作为文件句柄访问

Leo*_*Leo 2 c unit-testing

我需要在C中编写单元测试,以便对文件句柄进行操作.我想将测试文件的内容直接包含在单元测试源中.因此我的问题是:是否可以定义一个字符串并将其作为文件句柄在C中访问?

Rya*_*oun 6

在linux上,请参阅fmemopenopen_memstream.

#define _GNU_SOURCE
#include <stdio.h>

FILE *fmemopen(void *buf, size_t size, const char *mode);

FILE *open_memstream(char ** ptr, size_t *sizeloc);
Run Code Online (Sandbox Code Playgroud)

  • 将`#define _GNU_SOURCE`替换为`#define _POSIX_C_SOURCE 200809L`.这些是自2008年以来的标准POSIX接口.`fmemopen`,而不是`open_memstream`,是你想要的. (2认同)