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 が指している文字列から終端のヌルバイト ('\0') を含めて最大 n バイトを dest にコピーする。長さ strlen(src) が n より小さい場合には dest の残りの 部分にはヌルバイト ('\0') 文字が埋められる。 長さ strlen(src) が n 以上ならば、 dest が指す文字列はヌルで終端されていない。

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

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

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

属性

  マルチスレッディング (pthreads(7) 参照)
stpncpy() 関数はスレッドセーフである。

準拠
この関数は POSIX.1-2008 に追加された。 それ以前は GNU による拡張であった。 この関数は 1993 年に GNU C ライブラリのバージョン 1.07 で初めて登場した。

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

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