STPCPY

Section: Linux Programmer's Manual (3)
Updated: 2020-06-09
Index JM Home Page
 

名前

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

関連キーワード

stpcpy, STPCPY, 関数, コピー, dest, buffer, 属性, SOURCE, include, string

Linux マニュアル 一覧

[man1] [man2] [man3] [man4] [man5] [man6] [man7] [man8]
[a] [b] [c] [d] [e] [f] [g] [h] [i] [j] [k] [l] [m] [n] [o] [p] [q] [r] [s] [t] [u] [v] [w] [x] [y] [z]

 

Index

名前
書式
説明
返り値
属性
準拠
バグ
例
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 12:08:38 GMT, June 11, 2022