名前空間
変種
操作

std::wmemmove

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

srcによって指し示されるワイド文字列配列から、count個の連続するワイド文字を、destによって指し示されるワイド文字列配列に正確にコピーします。

countがゼロの場合、関数は何も行いません。

配列は重複しても構いません。コピーは、ワイド文字が一時的なワイド文字列配列にコピーされ、その後一時的な配列からdestにコピーされるかのように行われます。

目次

[編集] パラメータ

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

[編集] 戻り値

destのコピーを返します。

[編集] 注釈

この関数はロケールに依存せず、コピーされるwchar_tオブジェクトの値に注意を払いません。ヌル文字や無効な文字もコピーされます。

[編集]

#include <clocale>
#include <cwchar>
#include <iostream>
#include <locale>
 
int main()
{
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout.imbue(std::locale("en_US.utf8"));
 
    wchar_t str[] = L"αβγδεζηθικλμνξοπρστυφχψω";
    std::wcout << str << '\n';
    std::wmemmove(str + 4, str + 3, 3); // copy from [δεζ] to [εζη]
    std::wcout << str << '\n';
}

実行結果の例

αβγδεζηθικλμνξοπρστυφχψω
αβγδδεζθικλμνξοπρστυφχψω

[編集] 関連項目

オーバーラップしていない2つの配列間で、指定された数のワイド文字をコピーする
(関数) [編集]
あるバッファを別のバッファに移動する
(関数) [編集]
要素の範囲を新しい場所にコピーする
(関数テンプレート) [編集]
要素の範囲を逆順にコピーする
(関数テンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)