C ++ strxfrm () - C ++ standardraamatukogu

Funktsioon strxfrm () C ++ -s muudab etteantud nulliga lõppenud baidistringi rakenduse määratletud vormiks.

Funktsioon strxfrm () muudab stringi nii, et kahe teisendatud stringi võrdlemine funktsiooni strcmp () abil annab identse tulemuse võrreldes algsete stringide võrdlemisega funktsiooni strcoll () abil praeguses C-lokaadis.

Näiteks x ja y on kaks stringi. a ja b on kaks stringi, mis moodustatakse vastavalt x ja y teisendamisel strxfrm funktsiooni abil Siis on kõne strcmp (a, b) sama mis strcoll (x, y).

strxfrm () prototüüp

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

Funktsioon strxfrm () teisendab stringi esimesed loendustähised, millele src osutab, rakenduse määratletud vormiks ja tulemus salvestatakse mälu asukohta, millele osutab dest.

Selle funktsiooni käitumine on määratlemata, kui:

  • dest suurus on nõutavast väiksem.
  • dest ja src kattuvad.

See on määratletud päisefailis "> päisefail.

strxfrm () parameetrid

  • dest: osutab massiivile, kuhu teisendatud string salvestatakse.
  • src: kursor teisendatava nulliga lõpetatud stringi juurde.
  • count: teisendatavate tähemärkide maksimaalne arv.

strxfrm () Tagastusväärtus

Funktsioon strxfrm () tagastab teisendatud tähemärkide arvu, välja arvatud lõpetav nullmärk ' 0'.

Näide: Kuidas funktsioon strxfrm () töötab?

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

Programmi käivitamisel on väljund järgmine:

 strcoll tagastas -1 Enne teisendamist tuli strcmp tagasi 1 Pärast transformatsiooni tagastas strcmp -1

Huvitavad Artiklid...