2

ファイルでのみ機能するサードパーティのライブラリがあります。つまり、「file:///path/path/file.ext」のようなファイル名 URL を使用して参照されます。しかし、すでにメモリから読みたいデータがいくつかあります。

ファイル名を持つファイルのようにインメモリ バッファを作成することは可能ですか?

ありがとう

編集:私がやりたいことを示すコードをいくつか追加しました:

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 を使用して名前で参照できるようにファイルを作成します。

4

2 に答える 2

0

unix系OSならmmap()システムコールを使ってメモリマップファイルを使うのはどうでしょう。

于 2012-10-19T15:49:57.183 に答える