我有一个只能处理文件的第 3 方库,即使用“file:///path/path/file.ext”之类的文件名 URL 引用。但是我已经有一些我想从内存中读取的数据。
是否可以使内存缓冲区看起来像一个文件,即具有文件名,所以我可以省略将内存缓冲区写入磁盘的步骤,以便第 3 方库可以处理它?
谢谢
编辑:我添加了一些代码来演示我想做的事情:
const char* gFileName = "/Users/matthew.davies/Hello";
void MakeMemoryFile (const char* filename, const char* buffer, size_t size)
{
}
void DeleteMemoryFile (const char* filename)
{
}
int main()
{
const char* buffer = "Hello World!";
FILE* f;
char outBuffer [13];
MakeMemoryFile(gFileName, buffer, strlen(buffer));
f = fopen(gFileName, "rb");
outBuffer[12] = 0;
fread(outBuffer, 12, 1, f);
fclose(f);
DeleteMemoryFile(gFileName);
return 0;
}
MakeMemoryFile() 将创建该文件,以便以后可以使用 fopen 按名称引用它。