std::strncpy
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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言語リファレンス
| |