Namespaces
Variants

std:: strncat

From cppreference.net
定義済みヘッダー <cstring>
char * strncat ( char * dest, const char * src, std:: size_t count ) ;

src が指すバイト文字列を dest が指すバイト文字列に追加します。最大で count 文字がコピーされます。結果のバイト文字列はnull終端されます。

宛先バイト文字列は、 dest src の両方の内容と終端ナル文字を格納できる十分な領域を持たなければなりません。ただし、 src のサイズは count に制限されます。

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

目次

パラメータ

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

戻り値

dest

注記

std::strncat は各呼び出しで dest の終端を検索する必要があるため、 std::strncat を使用して多くの文字列を1つに連結するのは非効率的です。

#include <cstdio>
#include <cstring>
int main() 
{
    char str[50] = "Hello ";
    const char str2[50] = "World!";
    std::strcat(str, str2);
    std::strncat(str, " Goodbye World!", 3); // may issue "truncated output" warning
    std::puts(str);
}

出力:

Hello World! Go

関連項目

2つの文字列を連結する
(関数)
文字列を別の文字列にコピーする
(関数)
C documentation for strncat