Locates the first occurrence in the string pointed to by wstr1 of the sequence of wide characters in the string pointed to by wstr2.
#include <wchar.h> wchar_t *wcswcs (const wchar_t *wstr1, const wchar_t *wstr2);Function Variants This function also has variants named _wcswcs32 and _wcswcs64 for use with 32-bit and 64-bit pointer sizes, respectively. See Section 1.8 for more information on using pointer-size-specific functions.
Pointer | A pointer to the located wide-character string. |
NULL | Indicates that the wide-character string was not found. |
#include <stdlib.h> #include <stdio.h> #include <wchar.h> /* This test uses wcswcs() to find the occurrence of each sub */ /* wide-character string, string1 and string2, within the main */ /* wide-character string, lookin. */ #define BUF_SIZE 50 main() { static char lookin[]="that this is a test was at the end"; char string1[]="this", string2[]="the end"; wchar_t buffer[BUF_SIZE], input_buffer[BUF_SIZE]; /* Convert lookin to wide-character format. */ /* Buffer and print it out. */ if (mbstowcs(buffer,lookin, BUF_SIZE) == -1) { perror("mbstowcs"); exit(EXIT_FAILURE); } printf("Buffer to look in: %S\n", buffer ); /* Convert string1 to wide-character format and use wcswcs() to */ /* locate it within buffer */ if (mbstowcs(input_buffer,string1,BUF_SIZE) == -1) { perror("mbstowcs"); exit(EXIT_FAILURE); } printf("this: %S\n", wcswcs( buffer,input_buffer) ); /* Convert string2 to wide-character format and use wcswcs() to */ /* locate it within buffer */ if (mbstowcs(input_buffer,string2,BUF_SIZE) == -1) { perror("mbstowcs"); exit(EXIT_FAILURE); } printf("the end: %S\n", wcswcs( buffer,input_buffer) ); exit(1); };
Running this example produces the following results:
Buffer to look in: that this is a test was at the end this: this is a test was at the end the end: the end