我正在使用此方法访问驱动器和读取扇区。
int fd = open("/dev/rdisk1s1");
nbytes_got = pread(fd, buf, nbytes, off);
但 FD 返回-1表示失败。我需要读取磁盘及其扇区,但我无法在mac OS X中执行此操作。请帮助我。提前谢谢。
答案 0 :(得分:1)
如果open
返回-1
,则需要检查errno
以查看失败的原因。最可能的原因是您没有以root
或operator
组中的用户身份运行您的计划。
此外,您缺少oflag
函数的第二个(open
)参数。
这是非常基本的知识。直接读取磁盘扇区通常是一个非常高级的主题。你可能不应该在你的知识水平上这样做。