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

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

先頭へ戻る

wcsncat関数

概要 指定文字数以下のワイド文字列を連結する。
ヘッダ wchar.h
形式 wchar_t* wcsncat(wchar_t* s1, const wchar_t* 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 );

    return 0;
}

実行結果:

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


参考リンク



更新履歴

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

'2018/1/22 新規作成。



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

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

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

Programming Place Plus のトップページへ


はてなブックマーク Pocket に保存 Twitter でツイート Twitter をフォロー
Facebook でシェア Google+ で共有 LINE で送る rss1.0 取得ボタン RSS