- cwchar[meta header]
- std[meta namespace]
- function[meta id-type]
namespace std {
size_t wcsxfrm(wchar_t* s1, const wchar_t* s2, size_t n);
}- size_t[link /reference/cstddef/size_t.md]
ロケールに従った比較のために、ワイド文字列を変換する。
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;
}- std::wcsxfrm[color ff0000]
- std::wcout[link /reference/iostream/wcout.md]
1
- C++98
wcscollstd::strxfrm(): マルチバイト文字列版