VMS Help  —  CRTL  wcscat
    Concatenates two wide-character strings.

    Format

      #include  <wchar.h>

      wchar_t *wcscat  (wchar_t *wstr_1, const wchar_t *wstr_2);

1  –  Function Variants

    The wcscat function has variants named _wcscat32 and _wcscat64
    for use with 32-bit and 64-bit pointer sizes, respectively.

2  –  Arguments

 wstr_1, wstr_2

    Pointers to null-terminated wide-character strings.

3  –  Description

    The wcscat function appends the wide-character string wstr_2,
    including the terminating null character, to the end of wstr_1.

    See also wcsncat.

4  –  Return Value

    x                  The first argument, wstr_1, which is assumed
                       to be large enough to hold the concatenated
                       result.

5  –  Example

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

        /* This program concatenates two wide-
 character strings using */
        /* the wcscat function, and then manually compares the result */
        /* to the expected result                                     */

        #define S1LENGTH 10
        #define S2LENGTH 8

        main()
        {
            int i;
            wchar_t s1buf[S1LENGTH + S2LENGTH];
            wchar_t s2buf[S2LENGTH];
            wchar_t test1[S1LENGTH + S2LENGTH];

            /* Initialize the three wide-character strings */

            if (mbstowcs(s1buf, "abcmnexyz", S1LENGTH) == (size_t)-1) {

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

            if (mbstowcs(s2buf, " orthis", S2LENGTH) == (size_t)-1) {

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

            if (mbstowcs(test1, "abcmnexyz orthis", S1LENGTH + S2LENGTH)

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

        /* Concatenate s1buf with s2buf, placing the result    */
        /* into * s1buf.  Then compare s1buf with the expected */
        /* result in test1.                                    */

            wcscat(s1buf, s2buf);

            for (i = 0; i < S1LENGTH + S2LENGTH - 2; i++) {
                /* Check that each character is correct */
                if (test1[i] != s1buf[i]) {
                    printf("Error in wcscat\n");
                    exit(EXIT_FAILURE);
                }
            }

            printf("Concatenated string: <%S>\n", s1buf);
        }

      Running the example produces the following result:

        Concatenated string: <abcmnexyz orthis>
Close Help