我在/dev/sdc
有一个吊灯。
我想写一个简单的文件系统。我如何将其作为文件打开?可以用fopen
打开吗?
我试图清除它,但没有返回字节。
while (fgetc(device) != EOF) {
fputc(0, device);
}
最佳答案
尽管您可以使用fopen()
打开设备文件并使用c stdio函数来操作它,但使用posixopen()
打开它(从而获得文件描述符而不是FILE *
)并随后使用基于posix文件描述符的i/o函数对其进行操作可能更为合适,例如write()
和read()
。它们为文件提供了一个固有的二进制接口,除了您自己提供的之外,没有任何库级缓冲,而且在类unix操作系统上,它们比您提议的用于低级操作的c stdio函数更为传统。