VMS Help  —  CRTL  wcsspn
    Compares the characters in a wide-character string against a set
    of wide characters. The function returns the length of the first
    substring comprised entirely of characters in the set of wide
    characters.

    Format

      #include  <wchar.h>

      size_t wcsspn  (const wchar_t *wstr1, const wchar_t *wstr2);

1  –  Arguments

 wstr1

    A pointer to a null-terminated wide-character string. If this
    string is a null string, 0 is returned.

 wstr2

    A pointer to a null-terminated wide-character string that
    contains the set of wide characters for which the function will
    search.

2  –  Description

    The wcsspn function scans the wide characters in the wide-
    character string pointed to by wstr1 until it encounters a
    character not found in wstr2. The function returns the length of
    the first segment of wstr1 formed by characters found in wstr2.

3  –  Return Value

    x                  The length of the segment.

4  –  Example

        #include <stdlib.h>
        #include <stdio.h>
        #include <wchar.h>
        #include <string.h>

        /* This test sets up 2 strings, buffer and w_string. It */
        /* then uses wcsspn() to calculate the maximum segment  */
        /* of w_string that consists entirely of characters     */
        /* from buffer.                                         */

        #define BUFF_SIZE 20
        #define STRING_SIZE 50

        main()
        {
            wchar_t buffer[BUFF_SIZE];
            wchar_t w_string[STRING_SIZE];
            size_t result;

            /* Initialize the buffer */

            if (mbstowcs(buffer, "abcdefg", BUFF_SIZE) == (size_t)-1) {

                perror("mbstowcs");
                exit(EXIT_FAILURE);
            }

            /* Initialize the string */

            if (mbstowcs(w_
 string, "abcedjklmabcjklabcdehjkl", STRING_SIZE)

                perror("mbstowcs");
                exit(EXIT_FAILURE);
            }

        /* Using wcsspn - work out the largest string in w_string */
        /* that consists entirely of characters from buffer       */

            result = wcsspn(w_string, buffer);
            printf("Longest segment found in w_
 string is: %d", result);

        }

    Running the example program produces the following result:

    Longest segment found in w_string is: 5
Close Help