名前空間
変種
操作

std::strncpy

From cppreference.com
< cpp‎ | string‎ | byte
 
 
 
 
ヘッダー <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

[編集] 関連項目

ある文字列を別の文字列にコピーする
(関数) [編集]
あるバッファを別のバッファにコピーする
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)