0
我正在使用這種方法訪問驅動器和讀取扇區。磁盤扇區讀取目標c
int fd = open("/dev/rdisk1s1");
nbytes_got = pread(fd, buf, nbytes, off);
但FD返回-1表示失敗。我需要讀取磁盤和他們的部門,但我無法在Mac OS X中做到這一點,請幫助我。提前致謝。
我正在使用這種方法訪問驅動器和讀取扇區。磁盤扇區讀取目標c
int fd = open("/dev/rdisk1s1");
nbytes_got = pread(fd, buf, nbytes, off);
但FD返回-1表示失敗。我需要讀取磁盤和他們的部門,但我無法在Mac OS X中做到這一點,請幫助我。提前致謝。
如果open
返回-1
,那麼您需要檢查errno
,看看它爲什麼失敗。最可能的原因是您沒有運行程序root
或作爲operator
組中的用戶運行。
另外,您錯過了open
函數的第二個參數(oflag
)。
這是很基礎的知識。直接讀取磁盤扇區通常是一個非常高級的話題。你可能不應該在你的知識水平上這樣做。