STRCPY

Section: C Library Functions (3)
索引 jman

BSD mandoc
 

索引

名称

strcpy , strncpy - 文字列のコピー  

索引

ライブラリ

Lb libc  

索引

書式

In string.h Ft char * Fn strcpy char *dst const char *src Ft char * Fn strncpy char *dst const char *src size_t len  

索引

解説

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

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

索引

戻り値

Fn strcpy および Fn strncpy 関数は、 Fa 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));

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

次の行は、 input から buf へ文字を適切にコピーし、 その結果を NUL で終了させます。 Fn 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)  

索引

規格

Fn strcpy および Fn strncpy 関数は、 St -isoC に適合しています。


 

索引

Index

名称
ライブラリ
書式
解説
戻り値
関連項目
規格

jman



Time: 07:07:10 GMT, January 12, 2009