簡體   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