将分配的内存写入磁盘

时间:2021-05-20 14:44:29

标签: c++

我有一个已分配的内存,我想将其写入文件。我怎样才能在 C++ 20 中做到这一点?

我知道我可以执行以下序列,就像在 C 中一样。但是,在 C++ 中有 std::filesystem,我不能用它来做吗?

  • 创建文件
  • 虚拟分配
  • memcpy
  • 写入文件
  • 虚拟免费
  • 关闭句柄
auto* const data = VirtualAlloc(nullptr, 0x1000, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);

if (!data)
    return 0;
    
memcpy(...);

if (data)
    VirtualFree(data, 0, MEM_RELEASE);

1 个答案:

答案 0 :(得分:1)

以下是将内存写入文件的可靠方法:

// Open your output_file as binary
static const size_t DATA_CAPACITY = 0x1000;
output_file.write(data, DATA_CAPACITY);

这称为块写入二进制文件(或二进制模式的文件)。