wcsncat | Programming Place Plus C言語編 標準ライブラリのリファレンス

トップページC言語編標準ライブラリのリファレンス(名前順)

トップページC言語編標準ライブラリのリファレンス(ヘッダ別)


wcsncat関数

概要

指定文字数以下のワイド文字列を連結する。

ヘッダ

wchar.h

形式

wchar_t* wcsncat(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);

引数

s1

連結先のワイド文字列。

s2

連結元のワイド文字列。

n

連結する最大文字数。

戻り値

s1 を返す。

詳細

s1 の末尾に s2 を n文字だけ連結する(s1 の末尾にあったヌル文字が s2 の先頭の文字で上書きされる)。s2 の終端にあったヌル文字は連結しない。
s2 に含まれている文字数が、n に満たない場合は、s2 の全体が連結される。
n文字分の連結を終えた後、s1 の末尾にヌル文字が付加される。そのため、結果として s1 には、「wcslen(s1) + n + 1」以上の大きさが必要である。

注意

s1 が指す配列に、連結後のワイド文字列を許容できるだけの大きさが必要である。不足していた場合、バッファオーバーフローになるので、その結果は未定義である。
連結結果が含まれる範囲と、連結元の範囲とが重複していた場合の動作は未定義である。

使用例

#include <stdio.h>
#include <wchar_t.h>

int main(void)
{
    wchar_t s[80];

    wcscpy(s, L"abcde");
    wprintf(L"%s\n", wcsncat(s, L"fghij", 3));
    wprintf(L"%s\n", s);
}

実行結果:

abcdefgh
abcdefgh

関連

連結する最大文字数を指定しない wcscat関数がある。
マルチバイト文字列の場合は、strncat関数を使える。

解説章


参考リンク


更新履歴

’2018/4/20 全体的に文章を見直し修正。

’2018/1/22 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る