我想在Linux操作系统上使用c从存储卡读取分配单元512b,
如何使用(打开)打开存储卡的(原始数据)?

最佳答案

在Linux上,如何使用(打开)打开存储卡的(原始数据)?


假设操作系统识别出卡的存在,它将把卡作为设备文件提供给用户程序。例如,在我的系统上,通常为/dev/sdb,但是在您的系统上(可能由于各种原因,甚至在我的系统上)也很容易有所不同。只要您具有足够的特权,就可以像打开普通文件一样打开适当的文件并从中读取数据。那么,仅依靠标准C函数,就可以做到这一点:

unsigned char data[512];
FILE *card = fopen("/dev/name_of_device", "r");
// if (card == NULL) handle error ...
size_t count = fread(data, sizeof data, 1, card);
// if (count != 1) handle error ...

08-05 12:56