Man page - stpcpy(3)

Packages contains this manual

Available languages:

en fr pl ja ro de

Manual

STPCPY

名 前
書 式
説 明
返 り 値
属 性
準 拠
バ グ

関 連 項 目
こ の 文 書 に つ い て

名 前

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) を 参 照 。

Image grohtml-12885-1.png

準 拠

こ の 関 数 は 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/ に 書 か れ て い る 。