最終更新日時:
が更新

履歴 編集

function
<cwchar>

std::wcsxfrm

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

概要

ロケールに従った比較のために、ワイド文字列を変換する。

効果

s2が指す文字列を、wcscmp()で比較した結果がwcscoll()による比較と一致するような形式へ変換し、s1が指す配列へ最大n文字(終端のヌル文字を含む)書き込む。

戻り値

変換後の文字列の長さを返す。この値がn以上である場合、s1の内容は不定である。

備考

  • 同じ文字列を繰り返し比較する場合、あらかじめこの関数で変換しておくことで、wcscoll()による比較よりも高速に比較できる

#include <cwchar>
#include <iostream>

int main()
{
  wchar_t buffer[32];
  std::size_t n = std::wcsxfrm(buffer, L"abc", 32);

  std::wcout << (n > 0) << std::endl;
}

出力

1

バージョン

言語

  • C++98

関連項目