如在SUSv4描述或POSIX.1-2008
http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html#tag_16_685_08
写()调用可以比返回一个值以下为nbytes如果写()坏到一个非阻塞管道/FIFO。因此,有必要检查返回值并在下面演示的循环中写入() 缓冲区的其余部分:
while (bytes_to_write > 0) {
select(...); // Or poll()
retv = write(...);
if (retv < 0)
... // Error
bytes_to_write -= retv;
}
Run Code Online (Sandbox Code Playgroud)
该标准没有提及常规文件、特殊文件(又名设备)和套接字,尤其是基于流的套接字(例如 TCP 套接字和 UNIX 域套接字)。
那么,我有以下两个问题:
对不起,英语蹩脚。