应该POSIX`read()```buf`是`signed`还是`unsigned`?它甚至重要吗?

Ale*_*evo 1 c unsigned signed posix

POSIX读取函数定义为ssize_t read(int fd, void *buf, size_t count);,将其buf参数定义为void*.

传入的实际缓冲区是chars还是unsigned chars 的数组是否重要?如果是这样,我应该使用哪一个?我用谷歌搜索并阅读了这个人,但是甚至没有提到缓冲区的类型,更不用说它的签名了.

小智 5

声明类型的原因void *是你几乎可以阅读任何类型.你可以看一个char.你可以看一个unsigned char.你可以读int一下,如果你之前写的文件也是一个int.struct div_t如果是写入文件的内容,则可以读取a .

选择写入文件的任何类型,或者如果您正在读取任意字节,无论哪种类型最适合您以后的处理.