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() 関数は、文字列 srcdst にコピーします (終端の ‘\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.

A typical Unix /bin or /usr/bin directory contains a hundred different kinds of programs, written by dozens of egotistical programmers, each with its own syntax, operating paradigm, rules of use ... strategies for specifying options, and different sets of constraints.
— The Unix Haters' handbook