原型
int strnlen(char *str, int maxlen);
功能
计算字符串str的长度,不包括结束符NULL,长度最大为maxlen
注意
strnlen比strlen多一个参数,就是数据总体长度,当检测到字符串长度比数据总体长度还长(就是给定数据长度范围内没有结束符'\0')时就会终止扫描。strnlen这个函数一般用于检测不可信的数据(如网络数据),因为这种数据中可能没有'\0',这时如果用strlen的话会一直扫描无法停止(直到越界触碰到无效内存),而strnlen限制住了扫描范围所以不会出事