Namespaces
Variants

std:: wcsncat

From cppreference.net
定義先ヘッダ <cwchar>
wchar_t * wcsncat ( wchar_t * dest, const wchar_t * src, std:: size_t count ) ;

最大で count 個のワイド文字を、 src が指すワイド文字列から、 dest が指す文字列の末尾に追加します。ヌル終端文字がコピーされた場合は停止します。ワイド文字 src [ 0 ] は、 dest の末尾にあるヌル終端文字を置き換えます。最終的には常にヌル終端文字が追加されます(したがって、この関数が書き込む可能性のあるワイド文字の最大数は count + 1 です)。

宛先配列が src dest の内容および終端ナルワイド文字に対して十分な大きさでない場合、動作は未定義です。

文字列が重なっている場合の動作は未定義です。

目次

パラメータ

dest - 追加先のヌル終端ワイド文字列へのポインタ
src - コピー元のヌル終端ワイド文字列へのポインタ
count - コピーする最大ワイド文字数

戻り値

dest

#include <clocale>
#include <cwchar> 
#include <iostream>
int main(void) 
{
    wchar_t str[50] = L"Земля, прощай.";
    std::wcsncat(str, L" ", 1);
    std::wcsncat(str, L"В добрый путь.", 8); // only append the first 8 wide chars
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout.imbue(std::locale("en_US.utf8"));
    std::wcout << str << '\n';
}

出力例:

Земля, прощай. В добрый

関連項目

ワイド文字列を別のワイド文字列に追加する
(関数)
2つの文字列の特定の文字数を連結する
(関数)
ワイド文字列を別のワイド文字列にコピーする
(関数)