[英]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.