Namespaces
Variants
Views
Actions

wcscspn

From cppreference.com
< c‎ | string‎ | wide
Defined in header <wchar.h>
size_t wcscspn( const wchar_t* dest, const wchar_t* src );
(since C95)

Returns the length of the maximum initial segment of the wide string pointed to by dest, that consists of only the characters not found in wide string pointed to by src.

Contents

[edit] Parameters

dest - pointer to the null-terminated wide string to be analyzed
src - pointer to the null-terminated wide string that contains the characters to search for

[edit] Return value

The length of the maximum initial segment that contains only characters not found in the character string pointed to by src

[edit] Example

#include <locale.h>
#include <wchar.h>
 
int main(void)
{
    wchar_t dest[] = L"白猫 黑狗 甲虫";
    /*                      └───┐   */
    const wchar_t *src = L"甲虫,黑狗";
 
    const size_t len = wcscspn(dest, src);
    dest[len] = L'\0'; /* terminates the segment to print it out */
 
    setlocale(LC_ALL, "en_US.utf8");
    wprintf(L"The length of maximum initial segment is %td.\n"
            L"The segment is \"%ls\".\n", len, dest);
}

Output:

The length of maximum initial segment is 3.
The segment is "白猫 ".

[edit] References

  • C11 standard (ISO/IEC 9899:2011):
  • 7.29.4.5.2 The wcscspn function (p: 435-436)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.24.4.5.2 The wcscspn function (p: 381-382)

[edit] See also

(C95)
returns the length of the maximum initial segment that consists
of only the wide characters found in another wide string
(function) [edit]
finds the first location of any wide character in one wide string, in another wide string
(function) [edit]
C++ documentation for wcscspn