?? writen.c
字號:
/* include writen *///#include "unp.h"#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <netinet/in.h> #include <sys/socket.h> #include <sys/wait.h> #define SERV_PORT 9877 #define LISTENQ 1024 #define MAXLINE 4096 #define SA struct sockaddr/* Write "n" bytes to a descriptor. */ssize_t writen(int fd, const void *vptr, size_t n){ size_t nleft; ssize_t nwritten; const char *ptr; ptr = vptr; nleft = n; while (nleft > 0) { if ( (nwritten = write(fd, ptr, nleft)) <= 0) { if (errno == EINTR) nwritten = 0; /* and call write() again */ else return(-1); /* error */ } nleft -= nwritten; ptr += nwritten; } return(n);}/* end writen */voidWriten(int fd, void *ptr, size_t nbytes){ if (writen(fd, ptr, nbytes) != nbytes) err_sys("writen error");}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -