用C计算字符串的长度

l0g*_*g3r -5 c pointers sizeof char strlen

我写了这个函数来计算NULL终止的char指针的长度

size_t strlen(char* char_ptr) {
    size_t len = 0;
    while (*(char_ptr++) != '\0') {
        ++len;
    }
    return len;
}

并且它工作正常,但与strlen()相比它非常慢,有没有其他方法可以做到这一点?

注意: <string.h>不可用

jua*_*nza 11

a的大小char*就是sizeof(char*).你看起来是什么是一个空终止字符串的长度,你从strlen函数得到:

const char* blob = "Hello there";
size_t length = strlen(blob);
Run Code Online (Sandbox Code Playgroud)