用c++在追加模式下打开一个文件进行写入会为整个文件分配内存吗
Does opening a file in append mode to write in c++ allocates memory for whole file?
在追加模式下打开一个文件以在c++
中写入会为整个文件分配内存吗?
假设我有一个文件,然后我以附加模式打开,在最后的附加之后,文件是34 GB
。现在,如果文件写入操作频繁,并且由不同的任务完成,每次都会打开文件以向其添加一些数据。就在最后写入之前(当文件大小大约为30 GB
时),操作系统会为打开文件分配30 GB
吗?
简短回答:否。在任何模式下打开文件都不会为整个文件分配内存。您可能会将其与内存映射文件混淆,而内存映射文件可以而且通常会这样做。
相关文章:
- 自己的自定义向量类. 内存重新分配
- 如何从内存中分配GDI+ POINT类地址?
- 如何使用 std::vector 防止内存重新分配
- 将内存文件添加到 clang 编译器实例
- 如何将 QML 文件分配给主窗口/应用程序
- 为什么分配堆内存比分配堆栈记忆更快
- C 内存地址分配
- 对内存动态分配的类不使用"*"的逻辑
- 在共享内存上分配原子
- C 中的内存模型:为什么在同一内存位置分配了结构中的两个整数
- 内存池分配
- 在内存中分配多个结构
- C++类数组内存重新分配
- 使用 boost::interprocess 在共享内存中分配用户定义的结构
- 关于指针和数组以及它们在C++中如何在内存中分配
- 在虚拟内存中分配大型类C
- 如何将足够的数据从文本文件分配到char*中,然后将其复制到内存C 中
- 如果我将内存动态分配给静态变量,我应该释放它还是会自动释放它
- 当提升内存映射文件分配的磁盘空间超过HDD上的可用空间时,如何检测错误
- 用c++在追加模式下打开一个文件进行写入会为整个文件分配内存吗