gpt4 book ai didi

C++/Win32 在虚拟内存中创建文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:32 25 4
gpt4 key购买 nike

我如何在虚拟内存中创建一个文件,我能否在它上面使用普通的文件函数,如 CreateFile、WriteFile 等?

我正在尝试实现缓冲文件编写器类,但问题是管理需要动态常量重新分配的缓冲区。

最佳答案

您可以使用管道。它们也被操作系统视为"file",您可以对它们使用 WriteFile 和 ReadFile:

HANDLE               hReadPipe;
HANDLE hWritePipe;
CreatePipe(&hReadPipe, &hWritePipe , 0, 0);
WriteFile(hWritePipe, "hello", 5, 0, 0);

int sz = GetFileSize(hReadPipe, 0);
assert(sz == 5);
char out[5];
ReadFile(hReadPipe, out, 5, 0,0);

如果需要,您甚至可以使用类似于 _open_osfhandle 的内容将它们转换为 C FILE* 句柄。

关于C++/Win32 在虚拟内存中创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11938083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com