我有一个第三方库只能处理文件,即使用像“file:///path/path/file.ext”这样的文件名称URL引用。但是我有一些数据我想从内存中读取。UNIX中的基于内存的文件
是否有可能使内存中的缓冲区看起来像一个文件,它有一个文件名,所以我可以省略写入内存缓冲区到磁盘步骤,以便第三方库可以处理它?
感谢
编辑:我添加了一些代码演示我想该怎么做:
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。
您可以创建从脚本获取其数据的字符设备。我知道你可以在Perl中创建类似的东西。 –