最終更新日時:
が更新

履歴 編集

function
<cwchar>

std::wcsncpy

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

概要

文字数を指定して、ワイド文字列をコピーする。

効果

s2が指す文字列から、最大n文字をs1が指す配列へコピーする。s2の長さがn未満である場合、n文字になるまでヌル文字が書き込まれる。

戻り値

s1を返す。

備考

  • s2の長さがn以上である場合、コピー先は終端のヌル文字をもたない。この場合、文字列としてそのまま扱った場合、動作は未定義である
  • コピー元とコピー先の領域が重なっている場合、動作は未定義である
  • この関数は、C++26からフリースタンディング処理系でも使用できる

#include <cwchar>
#include <iostream>

int main()
{
  wchar_t buffer[8] = {};

  // 元の文字列が短い場合、残りはヌル文字で埋められる
  std::wcsncpy(buffer, L"abc", 7);

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

出力

abc

バージョン

言語

  • C++98

関連項目

参照