最終更新日時:
が更新

履歴 編集

function
<cwchar>

std::wmemmove

namespace std {
  wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);
}

概要

領域が重なっていてもよい形で、指定した文字数のワイド文字をコピーする。

効果

s2が指す領域からn文字を、s1が指す領域へコピーする。2つの領域が重なっていても、s2の内容をいったん一時領域へ複製したかのように正しくコピーされる。

戻り値

s1を返す。

備考

  • この関数は、C++26からフリースタンディング処理系でも使用できる

#include <cwchar>
#include <iostream>

int main()
{
  wchar_t buffer[8] = L"abcdef";

  // 領域が重なっていても正しくコピーされる
  std::wmemmove(buffer + 1, buffer, 5);

  std::wcout << buffer << std::endl;
}

出力

aabcde

バージョン

言語

  • C++98

関連項目

参照