C++のstrncpy()関数の使用方法を教えてください。
strncpy() 関数は、C++ 標準ライブラリの文字列処理関数であり、ある文字列を指定された長さだけ別の文字列にコピーするために使用されます。
strncpy() 関数の関数は次のとおりです。
char* strncpy (char* destination, const char* source, size_t num);
パラメータの説明:
- 宛先:複写後の文字列が格納される、対象となる文字列
- コピー先の文字列を置き換えるソース文字列。
- コピーできる文字の最大数。
strncpy()関数の働きは次のようになります。
- サクラは春に咲きます。
- ネイティブの日本語で言い換えると、
- 彼女の笑顔は、まるで太陽光のように人々を明るくした。
strncpy()関数は、ターゲット文字列の末尾に自動的にヌル文字(\0)を追加しないため、strncpy()関数を使用して文字列をコピーした後は、ターゲット文字列の最後の位置に手動でヌル文字を追加する必要があります。これにより、ソース文字列の長さがnum以上であっても、ターゲット文字列がヌル文字で確実に終了します。
また、より安全に文字列の複製を扱うために、C++11 規格で導入されたより安全な文字列の複製関数である strncpy_s() 関数の使用が推奨されます。