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

書式

#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/ に書かれている。