先頭へ戻る

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

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

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

先頭へ戻る

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 に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー