【发布时间】:2021-05-05 14:14:46
【问题描述】:
假设我有一个空文件。现在文件已打开(假设我使用的是 c 语言) 那么我的问题是:-
文件是否加载到 RAM 中?
如果我在大于 RAM 大小的文件中写入数据会怎样?数据是否成功写入文件(因为数据的大小大于RAM)?
【问题讨论】:
-
取决于底层操作系统的工作方式。在您常用的操作系统上,它很可能不会。
-
这取决于操作系统,但通常不会提前加载文件,尤其是完整地加载到内存中。
-
如果我没记错的话,在大多数操作系统上,更改会缓冲在 RAM 中,直到您调用 fflush()。 (所以没有整个文件没有加载到 RAM 中,因为那是不必要的)
-
只是好奇你认为 empty 文件是如何加载到 RAM 中的。这会涉及清空 RAM 吗?
-
让我们把它从抽象的推测领域转移到更集中的领域。如果您有代码示例和一些特定的操作系统,我们可以更可靠地检查您的场景。
标签: c file file-handling