W3cubDocs

/C++

std::strlen

Defined in header <cstring>
std::size_t strlen( const char* str );

Returns the length of the given byte string, that is, the number of characters in a character array whose first element is pointed to by str up to and not including the first null character. The behavior is undefined if there is no null character in the character array pointed to by str.

Parameters

str - pointer to the null-terminated byte string to be examined

Return value

The length of the null-terminated string str.

Possible implementation

std::size_t strlen(const char* start)
{
    // NB: no nullptr checking!
    const char* end = start;
    for( ; *end != '\0'; ++end)
        ;
    return end - start;
}

Example

#include <cstring>
#include <iostream>
 
int main()
{
    const char str[] = "How many characters does this string contain?";
 
    std::cout << "without null character: " << std::strlen(str) << '\n'
              << "with null character: " << sizeof str << '\n';
}

Output:

without null character: 45
with null character: 46

See also

returns the length of a wide string
(function)
returns the number of bytes in the next multibyte character
(function)
C documentation for strlen

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/byte/strlen