函数原型:size_t strnlen(const char *s, size_t maxlen);
功能:获取字符串s中实际字符个数,不包括结尾的'\0';如果实际个数 <= maxlen,则返回n,否则返回第二个参数。
if ( 实际长度 <= maxlen) {return 实际长度}
else {return maxlen}
示例:
#include <stdio.h>
#include <string.h>
int main()
{
char* p = "123456";
size_t n;
n = strnlen(p, 5);
printf("n=%d/n", n);
n = strnlen(p, 7);
printf("n=%d/n", n);
n = strnlen(p, 8);
printf("n=%d/n", n);
return 0;
}
结果
5
6
6