書式
#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 による拡張であった。この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。