我在/dev/sdc有一个吊灯。
我想写一个简单的文件系统。我如何将其作为文件打开?可以用fopen打开吗?
我试图清除它,但没有返回字节。

while (fgetc(device) != EOF) {
    fputc(0, device);
}

最佳答案

尽管您可以使用fopen()打开设备文件并使用c stdio函数来操作它,但使用posixopen()打开它(从而获得文件描述符而不是FILE *)并随后使用基于posix文件描述符的i/o函数对其进行操作可能更为合适,例如write()read()。它们为文件提供了一个固有的二进制接口,除了您自己提供的之外,没有任何库级缓冲,而且在类unix操作系统上,它们比您提议的用于低级操作的c stdio函数更为传统。

10-08 03:40