other languages
STPCPY(3) | Linux Programmer's Manual | STPCPY(3) |
名前¶
stpcpy - 文字列をコピーし、コピーした文字列の終りへのポインタを返す
書式¶
#define _GNU_SOURCE
#include <string.h> char *stpcpy(char *dest, const char *src);
説明¶
stpcpy() 関数は、src で指された文字列を (文字列を終端する '\0' を含めて) dest で指された配列にコピーする。 文字列は重複してはならず、コピー先の文字列 dest はコピーを受け取る のに十分大きくなくてはならない。
返り値¶
stpcpy() は、文字列 dest の始まりではなく 終りを指すポインタ (すなわち、文字列を終端する NULL バイト) を返す。
準拠¶
この関数は、C や POSIX.1 標準の一部ではなく、Unix システムの慣習的な ものでもないが、GNU の発明というわけでもない。 ひょっとしたら MS-DOS 由来のものかもしれない。 現在では、BSD 系にも存在する。
例¶
例として、このプログラムは
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); }
バグ¶
この関数はバッファ dest の範囲を行き過ぎてしまう可能性がある。
関連項目¶
bcopy(3), memccpy(3), memcpy(3), memmove(3), strcpy(3), wcpcpy(3), feature_test_macros(7)
2009-02-04 | GNU |