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