C 编程/wchar.h/wcscat
外观
在 C 语言中,函数 **wcscat()** 包含在头文件 wchar.h 中。此函数与 strcat 非常相似。
此函数用于连接两个宽字符字符串。
#include <wchar.h> wchar_t *wcscat(wchar_t *a, const wchar_t *b);
strcat 和 Wcscat 函数的作用相同,即连接两个字符串。区别在于 strcat 函数接受(普通)**字符字符串**,而 wcscat 函数接受**宽字符字符串**作为参数。
wcscat 函数将宽字符字符串,例如 **b**(包括字符串 b 末尾的 '\0')复制到宽字符字符串 **a** 的末尾。字符串 a 的 '\0' 字符被字符串 'b' 的第一个字符替换。即函数将字符串 'b' 附加到字符串 'a' 的末尾。如果宽字符字符串 'a' 是 "hello",而宽字符字符串 'b' 是 "world"。调用 wcscat(a , b) 函数后,字符串 'a' 变成 "helloworld",字符串 'b' 保持不变。宽字符串 'a' 必须至少有 (strlen(a) + strlen(b) +1) 个字节的内存,以便它可以存储 wcs(宽字符字符串)'a',wcs 'b' 和 '\0'。
#include <stdio.h>
#include <wchar.h>
#define SIZE 32
int main() {
wchar_t destination[SIZE] = L"Hello"; /*SIZE should be sufficient enough to store both strings and NULL termination '\0' */
wchar_t * source = L" World";
wchar_t * ptr;
ptr = wcscat( destination, source );
printf(" %ls\n", ptr ); /* prints "hello World"*/
/*OR printf("%ls\n" , destination);*/
return 0;
}
程序的输出将是 ' Hello World '。
宽字符字符串 'source'(World) 附加到宽字符字符串 'destination'(Hello) 的末尾。
wcscat() 函数返回指向宽字符字符串 'a' 的指针,即指向连接的字符串的指针。