用c++在追加模式下打开一个文件进行写入会为整个文件分配内存吗

Does opening a file in append mode to write in c++ allocates memory for whole file?

本文关键字:内存 文件分配 文件 模式 追加 c++ 一个      更新时间:2023-10-16

在追加模式下打开一个文件以在c++中写入会为整个文件分配内存吗?

假设我有一个文件,然后我以附加模式打开,在最后的附加之后,文件是34 GB。现在,如果文件写入操作频繁,并且由不同的任务完成,每次都会打开文件以向其添加一些数据。就在最后写入之前(当文件大小大约为30 GB时),操作系统会为打开文件分配30 GB吗?

简短回答:否。在任何模式下打开文件都不会为整个文件分配内存。您可能会将其与内存映射文件混淆,而内存映射文件可以而且通常会这样做。