WebServer涉及到的函数功能参考

代码参考<<Linux高性能服务器编程>>

1. setsockopt

extern int setsockopt (int __fd, int __level, int __optname,
		       const void *__optval, socklen_t __optlen) __THROW;

/* Set socket FD’s option OPTNAME at protocol level LEVEL
to *OPTVAL (which is OPTLEN bytes long).
Returns 0 on success, -1 for errors. */

setsockopt()函数,用于任意类型、任意状态套接口的设置选项值。尽管在不同协议层上存在选项,但本函数仅定义了最高的“套接口”层次上的选项。
sockfd:标识一个套接口的描述字。
level:选项定义的层次;支持SOL_SOCKET、IPPROTO_TCP、IPPROTO_IP和IPPROTO_IPV6。
optname:需设置的选项。
optval:指针,指向存放选项待设置的新值的缓冲区。
optlen:optval缓冲区长度。

2. strpbrk

char *strpbrk(const char *str1, const char *str2) 

检索字符串 str1 中第一个匹配字符串 str2 中字符的字符,不包含空结束字符。也就是说,依次检验字符串 str1 中的字符,当被检验字符在字符串 str2 中也包含时,则停止检验,并返回该字符位置。

3. strcasecmp

#include <strings.h>(不是C/C++的标准头文件,区别于string.h [1]  )
int strcasecmp (const char *s1, const char *s2);

strcasecmp用忽略大小写比较字符串.,通过strcasecmp函数可以指定每个字符串用于比较的字符数,strcasecmp用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异。
strcasecmp函数是二进制且对大小写不敏感。此函数只在Linux中提供,相当于windows平台的 stricmp。

4. strspn

char *strpbrk(const char *str1, const char *str2)

检索字符串 str1 中第一个不在字符串 str2 中出现的字符下标。

5. vsnprintf

#include <stdarg.h>
int _vsnprintf(char* str, size_t size, const char* format, va_list ap);
    char *str [out],把生成的格式化的字符串存放在这里.
    size_t size [in], str可接受的最大字符数 [1]  (非字节数,UNICODE一个字符两个字节),防止产生数组越界.
    const char *format [in], 指定输出格式的字符串,它决定了你需要提供的可变参数的类型、个数和顺序。
    va_list ap [in], va_list变量. va:variable-argument:可变参数

是C语言库函数之一,属于可变参数。用于向字符串中打印数据、数据格式用户自定义。

函数功能:将可变参数格式化输出到一个字符数组。
用法类似于vsprintf,不过加了size的限制,防止了内存溢出(size为str所指的存储空间的大小)。
返回值:执行成功,返回最终生成字符串的长度,若生成字符串的长度大于size,则将字符串的前size个字符复制到str,同时将原串的长度返回(不包含终止符);执行失败,返回负值,并置errno. [2]
备注:
linux环境下是:vsnprintf
VC6环境下是:_vsnprintf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值