std::strncpy
From cppreference.com
| ヘッダー <cstring> で定義 |
||
| char* strncpy( char* dest, const char* src, std::size_t count ); |
||
src で示されるバイト文字列(終端ヌル文字を含む)から、最大 count 文字を、dest で示される文字配列にコピーします。
src 全体がコピーされる前に count に達した場合、結果の文字配列はヌル終端されません。
src から終端ヌル文字をコピーした後、count に達していない場合、合計 count 文字が書き込まれるまで、追加のヌル文字が dest に書き込まれます。
文字列が重複している場合、動作は未定義です。
目次 |
[編集] パラメータ
| dest | - | コピー先の文字配列へのポインタ |
| src | - | コピー元のバイト文字列へのポインタ |
| count | - | コピーする最大文字数 |
[編集] 戻り値
dest
[編集] 例
このコードを実行
#include <cstring> #include <iostream> int main() { const char* src = "hi"; char dest[6] = {'a', 'b', 'c', 'd', 'e', 'f'}; std::strncpy(dest, src, 5); std::cout << "The contents of dest are: "; for (char c : dest) { if (c) std::cout << c << ' '; else std::cout << "\\0" << ' '; } std::cout << '\n'; }
出力
The contents of dest are: h i \0 \0 \0 f
[編集] 関連項目
| ある文字列を別の文字列にコピーする (関数) | |
| あるバッファを別のバッファにコピーする (関数) | |
| C のドキュメント (strncpy)
| |