C ++ strxfrm () - C ++ - vakiokirjasto

Strxfrm () -funktio C ++: ssa muuntaa tietyn null-päättyvän tavun merkkijonon toteutuksen määrittelemään muotoon.

Funktio strxfrm () muuntaa merkkijonon siten, että kahden muunnetun merkkijonon vertaaminen käyttämällä strcmp () -funktiota tuottaa saman tuloksen kuin alkuperäisten merkkijonojen vertaaminen käyttämällä strcoll () -funktiota nykyisessä C-kielessä.

Esimerkiksi x ja y ovat kaksi merkkijonoa. a ja b ovat kaksi merkkijonoa, jotka on muodostettu muuntamalla x ja y vastaavasti käyttämällä strxfrm-funktiota. Sitten kutsu strcmp: lle (a, b) on sama kuin kutsuminen strcollille (x, y).

strxfrm () -prototyyppi

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

Strxfrm () -funktio muuntaa src: n osoittaman merkkijonon ensimmäiset laskemerkit toteutuksen määrittelemään muotoon ja tulos tallennetaan muistin sijaintiin, johon osoitti.

Tämän toiminnon käyttäytymistä ei ole määritelty, jos:

  • destin koko on vaadittua kokoa pienempi.
  • dest ja src ovat päällekkäisiä.

Se määritetään otsikkotiedostossa "> header file.

strxfrm () -parametrit

  • dest: osoittaa taulukon, johon muunnettu merkkijono on tallennettu.
  • src: osoitin muunnettavaan nollapäätteiseen merkkijonoon.
  • count: muunnettavien merkkien enimmäismäärä.

strxfrm () Palautusarvo

Funktio strxfrm () palauttaa muunnetun merkin lukumäärän, lukuun ottamatta lopetettavaa nollamerkkiä 0.

Esimerkki: Kuinka funktio strxfrm () toimii?

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

Kun suoritat ohjelmaa, tulos on:

 strcoll palasi -1 Ennen muunnosta strcmp palasi 1 Muunnoksen jälkeen strcmp palasi -1

Mielenkiintoisia artikkeleita...