VMS Help
CRTL, wcsrchr

 *Conan The Librarian

    Scans for the last occurrence of a wide-character in a given
    string.

    Format

      #include  <wchar.h>

      wchar_t *wcsrchr  (const wchar_t *wstr, wchar_t wc);

  1 - Function Variants

    This function also has variants named _wcsrchr32 and _wcsrchr64
    for use with 32-bit and 64-bit pointer sizes, respectively.

  2 - Arguments

 wstr

    A pointer to a null-terminated wide-character string.

 wc

    A character of type wchar_t.

  3 - Description

    This function returns the address of the last occurrence of a
    given wide character in a null-terminated wide-character string.
    The terminating null character is considered to be part of the
    string.

    See also wcschr.

  4 - Return Values

    x                  The address of the last occurrence of the
                       specified wide character.
    NULL               Indicates that the wide character does not
                       occur in the string.

  5 - Example

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

        #define BUFF_SIZE 50
        #define STRING_SIZE 6

        main()
        {
            int i;
            wchar_t s1buf[BUFF_SIZE],
                    w_string[STRING_SIZE];
            wchar_t *status;
            wchar_t *pbuf = s1buf;

            /* Initialize the buffer */

      if (mbstowcs(s1buf, "hijklabcdefg ytuhijklfedcba", BUFF_SIZE)

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

            /* Initialize the string to be searched for */

      if (mbstowcs(w_string, "hijkl", STRING_SIZE) == (size_t)-1) {

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

  /* This program checks the wcsrchr function by searching for the  */
  /* last occurrence of a string in the buffer s1buf and prints out */
  /* the contents of s1buff from the location of the string found.  */

            status = wcsrchr(s1buf, w_string[0]);
      /* Check for pointer to start of rightmost character string.  */
            if (status == pbuf) {
                printf("Error in wcsrchr\n");
                exit(EXIT_FAILURE);
            }

            printf("Program completed successfully\n");
            printf("String found : [%S]\n", status);

        }

      Running the example produces the following result:

        Program completed successfully
        String found : [hijklfedcba]
  Close     Help