C语言 strnlen函数实现
程序员文章站
2022-03-14 08:40:42
作为获取字符串长度的函数strnlen(),在上一版本strlen()函数的基础上增加了获取长度的限制。
函数定义如下:
size_t strnlen(const char...
作为获取字符串长度的函数strnlen(),在上一版本strlen()函数的基础上增加了获取长度的限制。
函数定义如下:
size_t strnlen(const char *s, size_t count);
代码实现如下:
size_t Test_strnlen(const char *s, size_t count) { const char *sc; for (sc = s; count-- && *sc != '\0'; ++sc); return sc - s; }
实现原理:
根据字符串首地址向后移动(移动的最大字节数小于等于count),得到移动的次数作为字节数,如果字符串中间有’\0’也会停止。