Namespaces
Variants
Views
Actions

std::wcslen

From cppreference.com
< cpp‎ | string‎ | wide
Revision as of 14:32, 22 October 2023 by Space Mission (Talk | contribs)

Defined in header <cwchar>
std::size_t wcslen( const wchar_t* str );

Returns the length of a wide string, that is the number of non-null wide characters that precede the terminating null wide character.

The behavior is undefined if there is no null character in the wide character array pointed to by str.

Contents

Parameters

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

Return value

The length of the null-terminated wide string str.

Possible implementation

std::size_t wcslen(const wchar_t* start)
{
    // NB: start is not checked for nullptr!
    const wchar_t* end = start;
    while (*end != L'\0')
        ++end;
    return end - start;
}

Example

#include <clocale>
#include <cwchar>
#include <iostream>
 
int main()
{
    const wchar_t* str = L"爆ぜろリアル!弾けろシナプス!パニッシュメントディス、ワールド!";
 
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout.imbue(std::locale("en_US.utf8"));
    std::wcout << "The length of \"" << str << "\" is " << std::wcslen(str) << '\n';
}

Output:

The length of "爆ぜろリアル!弾けろシナプス!パニッシュメントディス、ワールド!" is 32

See also

returns the length of a given string
(function) [edit]
returns the number of bytes in the next multibyte character
(function) [edit]
C documentation for wcslen