你会用Linux网络编程实现-readn、writen、readline等函数?.doc
《你会用Linux网络编程实现-readn、writen、readline等函数?.doc》由会员分享,可在线阅读,更多相关《你会用Linux网络编程实现-readn、writen、readline等函数?.doc(1页珍藏版)》请在三一文库上搜索。
1、你会用Linux网络编程实现-readn、writen、readline等函数?readn函数功能:在网络编程的读取数据中,通常会需要用到一个读指定字节才返回的函数,linux系统调用中没有给出,需要自己封装。readn实现代码:int readn(int fd, void *vptr, size_t n) size_t nleft = n; /readn函数还需要读的字节数 ssize_t nread = 0; /read函数读到的字节数 unsigned char *ptr = (char *)vptr; /指向缓冲区的指针while (nleft 0) nread = read(fd,
2、ptr, nleft); if (-1 = nread) if (EINTR = errno) nread = 0; else return -1; else if (0 = nread) break; nleft -= nread; ptr += nread; return n - nleft;writen函数功能:读满n个字节才返回writen代码实现:int writen(int fd, const void *vptr, size_t n) size_t nleft = n; /writen函数还需要写的字节数 ssize_t nwrite = 0; /write函数本次向fd写的字节
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 网络 编程 实现 readn writen readline 函数
链接地址:https://www.31doc.com/p-3381595.html