Copyright Digital Equipment Corp. All rights reserved.

Example

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

       /* This test uses wcswcs() to find the occurrence of each */
       /* subwide-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) == (size_t)-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) == (size_t)-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) == (size_t)-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