std::wcsncpy
提供: cppreference.com
ヘッダ <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
はコピー先配列のサイズです。
[編集] 例
Run this code
#include <iostream> #include <cwchar> int main() { 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(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つのオーバーラップしていない配列間でワイド文字を一定量コピーします (関数) | |
文字列から別の文字列へ文字を一定量コピーします (関数) | |
wcsncpy の C言語リファレンス
|