Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all
名前
stpcpy - 文字列をコピーし、コピーした文字列の終りへのポインターを返す
書式
#include <string.h> char *stpcpy(char *dest, const char *src); glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照): stpcpy(): glibc 2.10 以降: _POSIX_C_SOURCE >= 200809L glibc 2.10 より前: _GNU_SOURCE
説明
stpcpy() 関数は、src で指された文字列を (文字列を終端するヌルバイト ('\0') を含めて) dest で指された配列にコピーする。 文字列は重複してはならず、コピー先の文字列 dest はコピーを受 け取る のに十分大きくなくてはならない。
返り値
stpcpy() は、文字列 dest の始まりではなく 終りを指すポインター (すなわち、文字列を終端す るヌルバイト) を返す。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。 ┌─────────────────┬───────────────┬─────────┐ │インターフェース │ 属性 │ 値 │ ├─────────────────┼───────────────┼─────────┤ │stpcpy() │ Thread safety │ MT-Safe │ └─────────────────┴───────────────┴─────────┘
準拠
この関数は POSIX.1-2008 に追加された。 それ以前は、この関数は C や POSIX.1 標準の一部でも UNIX システムの慣習的なものでもなかった。 この関数は Lattice C AmigaDOS コンパイラで初めて 登場し、それは少なくとも 1986 年時点ではそうであった。 その後、 1989 年に GNU fileutils と GNU textutils に登場し、 1992 年までには GNU C ライブラリにも存在していた。 この関数は BSD 系にも存在する。
バグ
この関数はバッファー dest の範囲を行き過ぎてしまう可能性がある。
例
例として、このプログラムは foo と bar を連結して foobar を作るために stpcpy() を使用し、そ の後表示する。 #define _GNU_SOURCE #include <string.h> #include <stdio.h> int main(void) { char buffer[20]; char *to = buffer; to = stpcpy(to, "foo"); to = stpcpy(to, "bar"); printf("%s\n", buffer); }
関連項目
bcopy(3), memccpy(3), memcpy(3), memmove(3), stpncpy(3), strcpy(3), string(3), wcpcpy(3)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの 説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。