?? writen.lc
字號:
/* include writen */#include "unp.h"## 1 ##src/lib/writen.c##ssize_t /* Write "n" bytes to a descriptor. */## 2 ##src/lib/writen.c##writen(int fd, const void *vptr, size_t n)## 3 ##src/lib/writen.c##{## 4 ##src/lib/writen.c## size_t nleft;## 5 ##src/lib/writen.c## ssize_t nwritten;## 6 ##src/lib/writen.c## const char *ptr;## 7 ##src/lib/writen.c## ptr = vptr;## 8 ##src/lib/writen.c## nleft = n;## 9 ##src/lib/writen.c## while (nleft > 0) {## 10 ##src/lib/writen.c## if ((nwritten = write(fd, ptr, nleft)) <= 0) {## 11 ##src/lib/writen.c## if (nwritten < 0 && errno == EINTR)## 12 ##src/lib/writen.c## nwritten = 0; /* and call write() again */## 13 ##src/lib/writen.c## else## 14 ##src/lib/writen.c## return (-1); /* error */## 15 ##src/lib/writen.c## }## 16 ##src/lib/writen.c## nleft -= nwritten;## 17 ##src/lib/writen.c## ptr += nwritten;## 18 ##src/lib/writen.c## }## 19 ##src/lib/writen.c## return (n);## 20 ##src/lib/writen.c##}## 21 ##src/lib/writen.c##/* end writen */void## 22 ##src/lib/writen.c##Writen(int fd, void *ptr, size_t nbytes)## 23 ##src/lib/writen.c##{## 24 ##src/lib/writen.c## if (writen(fd, ptr, nbytes) != nbytes)## 25 ##src/lib/writen.c## err_sys("writen error");## 26 ##src/lib/writen.c##}## 27 ##src/lib/writen.c##
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -