我在/dev/sdc
有一个pendrive。
我想为它编写一个简单的文件系统。我如何将其作为文件打开?可以使用fopen
?
我试图清除它,但没有返回任何字节。
while (fgetc(device) != EOF) {
fputc(0, device);
}
答案 0 :(得分:0)
虽然您可以使用fopen()
打开设备文件并使用C stdio函数来操作它,但使用POSIX open()
打开它可能更合适(因此获取文件描述符而不是FILE *
),然后使用基于POSIX文件描述符的I / O函数(例如write()
和read()
)对其进行操作。它们为文件提供了一个固有的二进制接口,没有你自己提供的任何库级缓冲,而在类Unix操作系统上,它们比C stdio函数更常规,用于低级操作,例如你提议的。 / p>