c - 文件 'read' 怎么样?

标签 c file memory

当我们使用任何编程语言(如果您能更好地引用C)打开一个文件时,该文件的数据到底是如何检索以供程序使用的?文本/图像是否像其他所有内容一样以字节形式加载到内存中,然后通过抓取内存中的值来检索?

拜托,不要神话般的解释告诉我文件只是“在那里”,而是引用文件是如何“打开”的。

最佳答案

编程语言使用操作系统设施来处理文件。您真正想知道的是操作系统中是如何完成此操作的。

通常,会初始化内存中的一个结构来跟踪读/写位置。

在操作系统或某些库中,有一个与每个文件关联的缓冲区,实际数据将移动到该缓冲区。虽然缓冲区很小,但不是整个文件。

另请参阅:http://www.win.tue.nl/~aeb/linux/lk/lk-8.html

关于c - 文件 'read' 怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23165225/

相关文章:

linux - 重命名文件夹中的所有文件

java - Java路径如何转换为例如输入流

java - java堆的上限

java - JVM大页面支持: is memory wasted if large pages is larger than heap?

c++ - 如何在 c 中返回一个 float 数组并将其保存为一个 float 数组以备后用?

我的单元测试无法使错误逻辑崩溃

c - 如何在 C 语言的 shell 中执行带有多个参数的命令?

c - 项目帮助-无法通过函数传递值

python - 我的 Python 应用程序需要包含哪些文件?

c++ - c++释放对象内存