2011-12-13 116 views
0

我正在使用這種方法訪問驅動器和讀取扇區。磁盤扇區讀取目標c

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

FD返回-1表示失敗。我需要讀取磁盤和他們的部門,但我無法在Mac OS X中做到這一點,請幫助我。提前致謝。

回答

1

如果open返回-1,那麼您需要檢查errno,看看它爲什麼失敗。最可能的原因是您沒有運行程序root或作爲operator組中的用戶運行。

另外,您錯過了open函數的第二個參數(oflag)。

這是很基礎的知識。直接讀取磁盤扇區通常是一個非常高級的話題。你可能不應該在你的知識水平上這樣做。