C ++ wcsxfrm () - C ++ Standardbibliotek

Funktionen wcsxfrm () i C ++ omdanner en given null-afsluttet bred streng til en implementeringsdefineret form.

Funktionen wcsxfrm () transformerer en bred streng, således at sammenligning af to transformerede bredstrenge ved hjælp af wcscmp () -funktionen giver det samme resultat som at sammenligne de originale brede strenge ved hjælp af wcscoll () -funktionen i den aktuelle C-lokalitet.

For eksempel er x og y to brede strenge. a og b er to brede strenge dannet ved at transformere henholdsvis x og y ved hjælp af wcsxfrm-funktionen.

Derefter,

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

Det er defineret i header-fil.

wcsxfrm () prototype

 size_t wcsxfrm (wchar_t * dest, const wchar_t * src, størrelse_t antal);

Funktionen wcsxfrm () konverterer de første tæller brede tegn i den brede streng, som src peger på, til en implementeringsdefineret form, og resultatet lagres på den hukommelsesplacering, der er peget af dest.

Funktionen for denne funktion er udefineret, hvis:

  • størrelsen på dest er mindre end den krævede størrelse.
  • dest og src overlapper hinanden.

wcsxfrm () Parametre

  • dest: pointer til det array, hvor den transformerede brede streng er lagret.
  • src: markør til den null-afsluttede brede streng, der skal transformeres.
  • count: maksimalt antal brede tegn, der skal konverteres.

wcsxfrm () Returværdi

Funktionen wcsxfrm () returnerer antallet af transformerede brede tegn undtagen det afsluttende null brede tegn 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 kører programmet, vil output være:

 wcscoll returneret -1 Før transformation returnerede wcscmp 1 Efter transformation returnerede wcscmp -1

Interessante artikler...