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);

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.

Description

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

Return Values
The length of the segment. 

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) == -1) {
            perror("mbstowcs");
            exit(EXIT_FAILURE);
        }
    
        /* Initialize the string */
    
        if (mbstowcs(w_string, "abcedjklmabcjklabcdehjkl", STRING_SIZE)
            == -1) {
            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


Previous Page | Next Page | Table of Contents | Index