欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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’也会停止。