C ++ wcsxfrm () - C ++ Standardbibliotek

Funktionen wcsxfrm () i C ++ förvandlar en given null-avslutad bredsträng till en implementeringsdefinierad form.

Funktionen wcsxfrm () transformerar en bred sträng så att jämförelse av två transformerade bredsträngar med wcscmp () -funktionen ger identiskt resultat som att jämföra de ursprungliga bredsträngarna med wcscoll () -funktionen i det aktuella C-läget.

Till exempel är x och y två breda strängar. a och b är två breda strängar bildade genom att transformera x respektive y med hjälp av wcsxfrm-funktionen.

Sedan,

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

Det definieras i rubrikfilen.

wcsxfrm () prototyp

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

Funktionen wcsxfrm () omvandlar de första räkningen breda tecken i den breda strängen som pekas på av src till en implementeringsdefinierad form och resultatet lagras på minnesplatsen som dest.

Funktionen för denna funktion är odefinierad om:

  • storleken på dest är mindre än den önskade storleken.
  • dest och src överlappar varandra.

wcsxfrm () Parametrar

  • dest: pekare till matrisen där den transformerade breda strängen lagras.
  • src: pekaren till den null-avslutade bredsträngen som ska transformeras.
  • räkna: maximalt antal breda tecken att konvertera.

wcsxfrm () Returvärde

Funktionen wcsxfrm () returnerar antalet transformerade breda tecken, exklusive det avslutande null-breda karaktär L ' 0'.

Exempel: Hur fungerar wcsxfrm ()?

 #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; )

När du kör programmet blir resultatet:

 wcscoll returnerade -1 Före transformation returnerade wcscmp 1 Efter transformation returnerade wcscmp -1

Intressanta artiklar...