首页 > 解决方案 > 磁盘 I/O 如何与 C 中的扇区一起工作?

问题描述

我无法理解 Linux 和 C 语言中的磁盘扇区。以下面的代码为例:

#include <stdio.h>

int main() {
    FILE *fp = fopen("myfile", "rb+");
    char foo;
    fread(&foo, sizeof(foo), 1, fp);
}

在这个例子中,如果我的磁盘扇区大小是 512 字节,我会在调用时从磁盘读取 512 字节fread()吗?是一样的fwrite()吗?

最佳做法是将整个扇区读入内存,进行任何修改,然后将整个扇区写回磁盘?

标签: clinuxiodisk

解决方案


推荐阅读