perror:
#include<stdio.h>
void perror(const char *s); perror ("open_port");
perror ( )用来将上一个函数发生错误的原因输出到标准设备 (stderr) 。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。
fread & fwrite:
#include <stdio.h>
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb,FILE *stream);
自动读写,读写完一个 nmemb(n of memery block)指针指到下一个。
setsockopt:
#include <sys/types.h>
#include <sys/socket.h>
sockfd:标识一个套接口的描述字。
level:选项定义的层次;支持SOL_SOCKET、IPPROTO_TCP、IPPROTO_IP和IPPROTO_IPV6。
optname:需设置的选项。
optval:指针,指向存放选项待设置的新值的缓冲区。
optlen:optval缓冲区长度。
fflush:
#include <stdio.h>
int fflush(FILE *stream)
清除缓存数据
ftell:
#include<stdio.h>
long ftell(FILE * stream);
函数说明 ftell()用来取得文件流目前的读写位置。参数stream为已打开的文件指针。返回值 当调用成功时则返回目前的读写位置,若有错误则返回-1,errno会存放错误代码。错误代码 EBADF 参数stream无效或可移动读写位置的文件流。
select:
#include <sys/select.h>
int select (int maxfd + 1,fd_set *readset,fd_set *writeset, fd_set *exceptset,const struct timeval * timeout);
参数一:最大的文件描述符加1。
参数二:用于检查可读性,
参数三:用于检查可写性,
参数四:用于检查带外数据,
参数五:一个指向timeval结构的指针,用于决定select等待I/o的最长时间。如果为空将一直等待。timeval结构的定义:
struct timeval{
long tv_sec; // seconds
long tv_usec; // microseconds
返回值:
>0:就绪描述字的正数目
-1:出错
0 :超时