文件io与网络套接字

1. read、readn、readline(unpv1)

read调用一次通常会出现不足值的情况(尤其是读取网络套接字),调用readn防止出现不足值情况。

readline如果一个个字节读取效率极其低下,采用自定义缓冲区的办法提高效率。


2.eof

read 遇到eof的时候返回0,fgets遇到eof时候返回-1,所以这时候需要函数判断是到达文件尾,还是文件读取出错。


3.rio函数包(csapp)

为了解决stevens函数中readn 与readline一个用了缓冲区,一个没用不能同时使用的问题,及缓冲区是静态的非进程安全的问题,引入了非缓冲版(rio_readn、rio_writen),缓冲版(rio_readinitb、rio_readlineb、rio_readnb)

你可能感兴趣的:(unix环境编程)