2.16.11. strlcpy()

strlcpy() 関数は、最大 size-1 文字を NUL 終端文字列 src から dst にコピーします。この関数は、単なるバッファの長さではなく完全なサイズを取得し、size が 0 より大きい場合にはコピーした文字列を NUL で終端します。 size 値には NUL のための 1 バイトを含めて下さい。

strlcpy() 関数は、長さに制限がない場合にコピーされる文字列の長さの合計を返します。 割り当てられている長さが十分かどうかによって、実際にコピーされる文字列の長さと等しい場合も、等しくない場合もあります。 どれくらいの長さが必要かを調べるために、まず strlcpy() を呼び出し、長さが不十分な場合は十分な長さを割り当てて、再度 strlcpy() を呼び出して必要なコピーを行うことができます。

この関数は、多くの C ライブラリで一般的な BSD 由来の拡張です。

構文

extern size_t strlcpy(char *dst, const char *src, size_t size);

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AJ
Non-Confidential