wcscat, wcscat_s
From cppreference.net
|
ヘッダーで定義
<wchar.h>
|
||
| (1) | ||
|
wchar_t
*
wcscat
(
wchar_t
*
dest,
const
wchar_t
*
src
)
;
|
(C95以降)
(C99まで) |
|
|
wchar_t
*
wcscat
(
wchar_t
*
restrict
dest,
const
wchar_t
*
restrict
src
)
;
|
(C99以降) | |
|
errno_t wcscat_s
(
wchar_t
*
restrict
dest, rsize_t destsz,
const wchar_t * restrict src ) ; |
(2) | (C11以降) |
1)
ワイド文字列
src
が指す文字列のコピーを、ワイド文字列
dest
が指す文字列の末尾に追加します。ワイド文字
src[0]
は
dest
の末尾にあるナルターミネータを置き換えます。結果のワイド文字列はナルターミネートされます。宛先配列が
str
と
dest
の内容および終端ナルワイド文字の両方を保持するのに十分な大きさでない場合、動作は未定義です。文字列がオーバーラップしている場合の動作は未定義です。
2)
(1)
と同様であるが、以下の点が異なる:宛先配列の残りの部分(最後に書き込まれた文字から
destsz
まで)を不定値で上書きする可能性があり、以下のエラーが実行時に検出され、現在インストールされている
constraint handler
関数を呼び出す:
-
-
srcまたはdestがnullポインタである -
destszがゼロまたは RSIZE_MAX / sizeof ( wchar_t ) より大きい -
destの先頭destszワイド文字内にnull終端文字がない -
切り捨てが発生する(
destの末尾の利用可能な領域がsrcのすべてのワイド文字(null終端文字を含む)を格納できない) - ソース文字列と宛先文字列がオーバーラップする
-
-
すべての境界チェック付き関数と同様に、
wcscat_sは、実装によって __STDC_LIB_EXT1__ が定義され、かつユーザーが <wchar.h> をインクルードする前に __STDC_WANT_LIB_EXT1__ を整数定数 1 に定義した場合にのみ利用可能であることが保証される。
目次 |
パラメータ
| dest | - | 追加先のヌル終端ワイド文字列へのポインタ |
| src | - | コピー元のヌル終端ワイド文字列へのポインタ |
| destsz | - | 書き込む最大文字数(通常は宛先バッファのサイズ) |
戻り値
1)
dest
のコピーを返す
2)
成功時はゼロを返し、エラー時は非ゼロを返します。また、エラー時には
L
'
\0
'
を
dest
[
0
]
に書き込みます(ただし
dest
がnullポインタの場合、または
destsz
がゼロまたは
RSIZE_MAX
/
sizeof
(
wchar_t
)
より大きい場合を除く)。
例
このコードを実行
出力:
Земля, прощай. В добрый путь.
参考文献
- C17規格 (ISO/IEC 9899:2018):
-
- 7.29.4.3.1 wcscat関数 (p: 315)
-
- K.3.9.2.2.1 wcscat_s関数 (p: 466)
- C11標準 (ISO/IEC 9899:2011):
-
- 7.29.4.3.1 wcscat関数 (p: 432)
-
- K.3.9.2.2.1 wcscat_s関数 (p: 642-643)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.24.4.3.1 wcscat関数 (p: 378)
関連項目
|
(C95)
(C11)
|
ワイド文字列に別のワイド文字列から指定された数のワイド文字を追加する
(関数) |
|
(C11)
|
二つの文字列を連結する
(関数) |
|
(C95)
(C11)
|
ワイド文字列を別のワイド文字列にコピーする
(関数) |
|
C++ドキュメント
for
wcscat
|
|