C ++ wcsxfrm () - C ++ standartinė biblioteka

C ++ funkcija wcsxfrm () paverčia nurodytą nulinę baigtą plačią eilutę į įgyvendinimo apibrėžtą formą.

Funkcija wcsxfrm () transformuoja plačią eilutę taip, kad lyginant dvi transformuotas plačias eilutes naudojant funkciją wcscmp () gaunamas identiškas rezultatas lyginant originalias plačias eilutes naudojant funkciją wcscoll () dabartinėje C lokalėje.

Pavyzdžiui, x ir y yra dvi plačios eilutės. a ir b yra dvi plačios eilutės, suformuotos transformuojant x ir y atitinkamai naudojant wcsxfrm funkciją.

Tada

 wcscmp (a, b) = wcscoll (x, y)

Tai apibrėžta antraštės faile.

wcsxfrm () prototipas

 dydis_t wcsxfrm (wchar_t * dest, const wchar_t * src, size_t count);

Funkcija wcsxfrm () paverčia pirmuosius plačios eilutės, į kurią nukreipė src, skaičiavimo simbolius į apibrėžtą įgyvendinimo formą, o rezultatas saugomas atminties vietoje, į kurią nukreipė dest.

Šios funkcijos elgesys nėra apibrėžtas, jei:

  • dest dydis yra mažesnis nei reikalaujamas dydis.
  • dest ir src sutampa.

wcsxfrm () parametrai

  • dest: rodyklė į masyvą, kuriame saugoma transformuota plati eilutė.
  • src: žymeklis į nulį baigiamą plačią eilutę, kuri bus transformuota.
  • skaičius: maksimalus konvertuojamų plačių simbolių skaičius.

wcsxfrm () Grąžinimo vertė

Funkcija wcsxfrm () pateikia transformuotų plačių simbolių skaičių, išskyrus baigiamąjį nulinį plačiąjį simbolį L ' 0'.

Pavyzdys: Kaip veikia wcsxfrm () funkcija?

 #include #include #include using namespace std; int main() ( setlocale(LC_COLLATE, "cs_CZ.UTF-8"); const wchar_t* s1 = L"u0068u0072u006eu0065u0063"; const wchar_t* s2 = L"u0063u0068u0072u0074"; wchar_t t1(20), t2(20); cout << "wcscoll returned " << wcscoll(s1,s2) << endl; cout << "Before transformation, " << "wcscmp returned " << wcscmp(s1,s2) << endl; wcsxfrm(t1,s1,10); wcsxfrm(t2,s2,10); cout << "After transformation, " << "wcscmp returned " << wcscmp(t1,t2) << endl; return 0; )

Kai paleisite programą, išvestis bus:

 wcscoll grįžo -1 Prieš transformaciją wcscmp grįžo 1 Po transformacijos wcscmp grąžino -1

Įdomios straipsniai...