繁体   English   中英

为什么 'write()' 使用 const 缓冲区,而 'read()' 没有?

[英]Why does 'write()' take a const buffer while 'read()' doesn't?

读/写的签名如下:

 ssize_t write(int fd, const void *buf, size_t count);

 ssize_t read(int fd, void *buf, size_t count);

为什么read()也不采用const void * 这是否意味着它改变了buf的值?

因为write()不会更改缓冲区的内容,而只会将其写入文件。

另一方面, read()将更改其缓冲区(从文件中的内容),因此最好不要是const

一般规则,改变的不是const

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM