この関数の目的
strncat()は、文字列を連結する。
定義
#include <string.h> char *strncat(char *s1, const char *s2, size_t n);
働き
この関数は、 s2 が指す文字列の n 文字以下(終端のヌル文字以降を含まない)を s1 が指す文字列の末端に付加する。 s2 の最初の文字は s1 の終端のヌル文字を上書きする。終端のヌル文字は常に結果に付加される。 * 重複するオブジェクト間で転写が行われた場合の動作は未定義である。
返り値は s1 の値である。
(*) よって、 s1 が指す配列に入る最大文字数は strlen(s1)+n+1
となる。
解説
重複するオブジェクト間での転写については、 memmove() を参照のこと。
この関数は指定文字数以上にコピーすることはない。 n 文字内でヌル止めされていない文字列を s2 に渡すと、 s1 の文字列は途中でヌル止めされる。