c++ - 以追加模式打开文件以用 C++ 写入是否会为整个文件分配内存?

标签 c++ file operating-system append

c++ 中以追加模式打开文件是否会为整个文件分配内存?

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

最佳答案

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

关于c++ - 以追加模式打开文件以用 C++ 写入是否会为整个文件分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38630734/

相关文章:

java - 计算java中存档中的文件数

c - 在文本文件C中搜索关键字

c - 非法内存读取或跳转后恢复IP寄存器

operating-system - 我听说 Smalltalk 也是一个操作系统。我如何在我的 X86 而不是 Linux 或 Windows 上安装 Smalltalk?

security - Linux 内核如何在 copy_from_user 中临时禁用 x86 SMAP?

c++ - 创建一个 OS C++ 特定的 API

c++ - Google Protocol Buffer 比较

c++ - 从 C++ 中的给定文件点读取目录

c++ - 使用 operator+ 而不会泄漏内存?

c++ - Windows下免费商用框架中ViewBox的替换