C ++ strxfrm () - C ++ standardbibliotek

Strxfrm () -funksjonen i C ++ forvandler en gitt null-avsluttet byte-streng til en implementeringsdefinert form.

Funksjonen strxfrm () transformerer strengen slik at sammenligning av to transformerte strenger ved hjelp av strcmp () -funksjonen gir identisk resultat som å sammenligne de originale strengene ved hjelp av strcoll () -funksjonen i gjeldende C-lokalitet.

For eksempel er x og y to strenger. a og b er to strenger dannet ved å transformere henholdsvis x og y ved hjelp av strxfrm-funksjonen. Da er en samtale til strcmp (a, b) det samme som å ringe strcoll (x, y).

strxfrm () prototype

 size_t strxfrm (char * dest, const char * src, size_t count);

Strxfrm () -funksjonen konverterer de første telletegnene til 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.

Den er definert i topptekstfil "> topptekstfil.

strxfrm () Parametere

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

strxfrm () Returverdi

Strxfrm () -funksjonen returnerer antallet transformerte tegn, unntatt det avsluttende nulltegnet ' 0'.

Eksempel: Hvordan fungerer strxfrm ()?

 #include #include #include using namespace std; int main() ( setlocale(LC_COLLATE, "cs_CZ.UTF-8"); const char* s1 = "hrnec"; const char* s2 = "chrt"; char t1(20), t2(20); cout << "strcoll returned " << strcoll(s1,s2) << endl; cout << "Before transformation, " << "strcmp returned " << strcmp(s1,s2) << endl; strxfrm(t1,s1,10); strxfrm(t2,s2,10); cout << "After transformation, " << "strcmp returned " << strcmp(t1,t2) << endl; return 0; )

Når du kjører programmet, vil utdataene være:

 strcoll returnerte -1 Før transformasjon returnerte strcmp 1 Etter transformasjon returnerte strcmp -1

Interessante artikler...