std::wcslen(3)

NAME
std::wcslen - std::wcslen

Synopsis
   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.

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: no nullptr checking!
      const wchar_t* end = start;
      for( ; *end != L'\0'; ++end)
         ;
      return end - start;
   }

Example
// Run this code
 #include <iostream>
 #include <cwchar>
 #include <clocale>
 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
   strlen returns the length of a given string
          (function)
   mblen returns the number of bytes in the next multibyte character
          (function)