tail head cat sleep
QR code linking to this page

manページ  — STRCPY

名称

strcpy – 文字列のコピー

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <string.h>

char *
strcpy(char *dst, const char *src);

char *
strncpy(char *dst, const char *src, size_t len);

解説

strcpy() 関数は、文字列 src を dst にコピーします (終端の ‘\0’ 文字を含めて)。

strncpy() 関数は、 len 個以上の文字は dst にコピーせず、 src の長さが len 文字以下の場合には ‘\0’ 文字を追加します。また、 src の長さが len 文字以上である場合は、 dst を終了させません。

戻り値

strcpy() および strncpy() 関数は、 dst を返します。

例

次の行は、 chararray を "abc\0\0\0" に設定します :
char chararray[6];

(void)strncpy(chararray, "abc", sizeof(chararray));

次の行は、 chararray を "abcdef" に設定します :

char chararray[6];

(void)strncpy(chararray, "abcdefgh", sizeof(chararray));

パラメータの長さが、ソースの長さと同じか それ以上であるため chararray は NUL で終了しない ことに注意してください。

次の行は、 input から buf へ文字を適切にコピーし、 その結果を NUL で終了させます。 strncpy() の文字列自体が NUL で終了することを 保証しないためで、 これは明確にしなければなりません。

char buf[1024];

(void)strncpy(buf, input, sizeof(buf) - 1); buf[sizeof(buf) - 1] = '\0';

次の例のように strlcpy(3) [英語] を使用すると、より良く実行できるかもしれません。

    (void)strlcpy(buf, input, sizeof(buf));

strlcpy(3) [英語] は標準的には定義されていないので、 移植に無関係なときだけ 利用するように注意してください。

関連項目

bcopy(3), memccpy(3), memcpy(3), memmove(3), strlcpy(3) [英語]

規格

strcpy() および strncpy() 関数は、 ISO/IEC 9899:1990 ("ISO C90") に適合しています。

STRCPY (3) August 9, 2001

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.