namespace std {
char* strncat(char* s1, const char* s2, size_t n);
}
概要
文字列を、上限サイズを指定して結合する。
効果
s2が指す配列の先頭から最大n文字、もしくは終端ヌル文字までのいずれか短いほうを、s1が指す文字列の末尾に連結する。s1の終端ヌル文字がs2の先頭文字で上書きされる。
連結後の文字列には、常に終端のヌル文字が付加される。
コピー元とコピー先の領域が重なっている場合、動作は未定義である。
戻り値
s1を返す。
備考
- この関数は、フリースタンディング処理系でも使用できる。
s1が指す配列は、連結後の文字列を終端のヌル文字まで格納できる十分な大きさを持っていなければならない。
例
#include <cstring>
#include <iostream>
int main()
{
char s[12] = "hello";
// " world!!!"の先頭6文字だけを連結する
std::strncat(s, " world!!!", 6);
std::cout << s << std::endl;
}
出力
hello world
バージョン
言語
- C++98
関連項目
参照
- P2338R4 Freestanding Library: Character primitives and the C library
- C++26で、この関数がフリースタンディング処理系で使用可能になった