STPNCPY(3)

名前
stpncpy - 固定長の文字列をコピーして、その最後へのポインターを返す

書式
#include <string.h>

char *stpncpy(char *dest, const char *src, size_t n);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

stpncpy():
    glibc 2.10 以降:
        _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
    glibc 2.10 より前:
        _GNU_SOURCE

説明
stpncpy() 関数は src が指している文字列から終端の NULL バイト ('\0') を含めて最大 n バイトを dest にコピーする。長さ strlen(src) が n より小さい場合には dest の残りの 部分には NULL バイト ('\0') 文字が埋められる。 長さ strlen(src) が n 以上ならば、 dest が指す文字列は NULL で終端されていない。

二つの文字列は重なってはならない。

プログラマーは dest に少なくとも n バイトの空きがあることを 保証しなければならない。

返り値
stpncpy() は dest の終端の NULL バイトを指すポインターを返すか、 dest が NULL バイトで終端されていない場合には dest+n を返す。

準拠
この関数は POSIX.1-2008 に追加された。 それ以前は GNU による拡張であった。

関連項目
strncpy(3), wcpncpy(3)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.54 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。