|
≫ |
|
|
|
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
2 つのワイド文字列を連結します。
形式
#include <wchar.h>
wchar_t *wcscat (wchar_t *wstr_1, const wchar_t *wstr_2);
関数バリアント
wcscat関数は,それぞれ 32 ビットと 64 ビットのポインタ・サイズで使用するための
_wcscat32と
_wcscat64という名前のバリアントを持っています。ポインタ・サイズ固有の関数の使用方法については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.9 節を参照してください。
引数
wstr_1, wstr_2null で終了するワイド文字列へのポインタ。
説明
wcscat関数は,終端の null 文字を含むワイド文字列 wstr_2 を, wstr_1 の末尾に追加します。
wcsncatも参照してください。
戻り値
x
|
連結された結果を保持できるだけの大きさを持つと仮定される第 1 引数
wstr_1。
|
例
#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)
== (size_t)-1) {
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);
}
|
この例のプログラムを実行すると,次の結果が生成されます。
Concatenated string: <abcmnexyz orthis>
|
|