std::strncpy
提供: 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
。
[編集] 例
Run this code
#include <iostream> #include <cstring> 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
[編集] 関連項目
文字列を別の文字列にコピーします (関数) | |
バッファを別のバッファへコピーします (関数) | |
strncpy の C言語リファレンス
|