std:: strncpy
|
ヘッダーで定義
<cstring>
|
||
|
char
*
strncpy
(
char
*
dest,
const
char
*
src,
std::
size_t
count
)
;
|
||
最大で count 文字のバイト文字列(終端のヌル文字を含む)を、 src が指す位置から dest が指す文字配列にコピーします。
もし count が文字列全体 src のコピー完了前に到達した場合、結果の文字配列はnull終端されません。
src から終端ナル文字をコピーした後、 count に達していない場合、追加のナル文字が dest に書き込まれ、合計で count 文字が書き込まれるまで続きます。
文字列が重なっている場合、動作は未定義です。
目次 |
パラメータ
| 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ドキュメント
for
strncpy
|
|