名前空間
変種
操作

std::wcsncpy

From cppreference.com
< cpp‎ | string‎ | wide
 
 
 
 
ヘッダ <cwchar> で定義
wchar_t* wcsncpy( wchar_t* dest, const wchar_t* src, std::size_t count );

src で指し示されるワイド文字列(終端のヌルワイド文字を含む)から、最大 count 文字を、dest で指し示されるワイド文字配列にコピーします。

src の文字列全体がコピーされる前に count に達した場合、結果のワイド文字配列はヌル終端されません。

src から終端のヌルワイド文字をコピーした後、count に達していない場合、合計 count 文字が書き込まれるまで、追加のヌルワイド文字が dest に書き込まれます。

文字列が重複している場合、動作は未定義です。

目次

[編集] パラメータ

dest - コピー先のワイド文字配列へのポインタ
src - コピー元ワイド文字列へのポインタ
count - コピーする最大ワイド文字数

[編集] 戻り値

dest

[編集] 注意

典型的な使用法では、count は宛先配列のサイズです。

[編集]

#include <cwchar>
#include <iostream>
 
int main()
{
    const wchar_t src[] = L"hi";
    wchar_t dest[6] = {L'a', L'b', L'c', L'd', L'e', L'f'};
 
    std::wcsncpy(dest, src, 5); // this will copy 'hi' and repeat \0 three times
 
    std::wcout << "The contents of dest are: ";
    for (const wchar_t c : dest)
    {
        if (c)
            std::wcout << c << ' ';
        else
            std::wcout << "\\0" << ' ';
    }
    std::wcout << '\n';
}

出力

The contents of dest are: h i \0 \0 \0 f

[編集] 関連

あるワイド文字列を別のワイド文字列にコピーする
(関数) [編集]
オーバーラップしていない2つの配列間で、指定された数のワイド文字をコピーする
(関数) [編集]
ある文字列から別の文字列に指定された文字数をコピーする
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)