чтение сектора диска в задаче c - PullRequest
0 голосов
/ 13 декабря 2011

Я использую этот метод для доступа к диску и чтению сектора.

int fd = open("/dev/rdisk1s1");
nbytes_got = pread(fd, buf, nbytes, off);

но FD возвращает -1 означает, что произошел сбой. Мне нужно прочитать диски и их секторы, но я не могу сделать это в Mac OS X. Пожалуйста, помогите мне. Заранее спасибо.

1 Ответ

1 голос
/ 13 декабря 2011

Если open возвращает -1, то вам нужно проверить errno, чтобы увидеть, почему это не удалось. Наиболее вероятная причина заключается в том, что вы не запускаете свою программу как root или как пользователь в группе operator.

Кроме того, вам не хватает второго (oflag) параметра для функции open.

Это довольно базовые знания. Чтение секторов диска напрямую - довольно сложная тема Вы, вероятно, не должны делать это на своем уровне знаний.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...