std::wmemmove
From cppreference.com
| ヘッダ <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つの配列間で、指定された数のワイド文字をコピーする (関数) | |
| あるバッファを別のバッファに移動する (関数) | |
| (C++11) |
要素の範囲を新しい場所にコピーする (関数テンプレート) |
| 要素の範囲を逆順にコピーする (関数テンプレート) | |
| C言語のドキュメント(wmemmove)
| |