C ++ wcsxfrm () - C ++ Standardbibliotek

Funksjonen wcsxfrm () i C ++ forvandler en gitt null avsluttet bred streng til en implementeringsdefinert form.

Funksjonen wcsxfrm () transformerer en bred streng slik at sammenligning av to transformerte vidstrenger ved hjelp av wcscmp () -funksjonen gir identisk resultat som å sammenligne de originale brede strengene ved hjelp av wcscoll () -funksjonen i gjeldende C-lokalitet.

For eksempel er x og y to brede strenger. a og b er to brede strenger dannet ved å transformere henholdsvis x og y ved hjelp av wcsxfrm-funksjonen.

Deretter,

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

Det er definert i topptekstfilen.

wcsxfrm () prototype

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

Funksjonen wcsxfrm () konverterer de første telle brede tegnene i den brede strengen pekt av src til en implementeringsdefinert form, og resultatet lagres på minneplasseringen pekt av dest.

Oppførselen til denne funksjonen er udefinert hvis:

  • størrelsen på destinasjonen er mindre enn den nødvendige størrelsen.
  • dest og src overlapper hverandre.

wcsxfrm () Parametere

  • dest: peker til matrisen der den transformerte brede strengen er lagret.
  • src: peker til null avsluttet bred streng som skal transformeres.
  • count: maksimalt antall brede tegn å konvertere.

wcsxfrm () Returverdi

Funksjonen wcsxfrm () returnerer antall transformerte brede tegn, unntatt det avsluttende nullbrede tegnet L ' 0'.

Eksempel: Hvordan fungerer 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 kjører programmet, vil utdataene være:

 wcscoll returnerte -1 Før transformasjon returnerte wcscmp 1 Etter transformasjon returnerte wcscmp -1

Interessante artikler...