C ++ strxfrm () - C ++ standarta bibliotēka

Strxfrm () funkcija C ++ pārveido norādīto nulles gala baitu virkni ieviešanas definētā formā.

Funkcija strxfrm () pārveido virkni tā, ka divu pārveidotu virkņu salīdzināšana, izmantojot funkciju strcmp (), rada identisku rezultātu, salīdzinot sākotnējās virknes, izmantojot strcoll () funkciju pašreizējā C lokalizācijā.

Piemēram, x un y ir divas virknes. a un b ir divas virknes, kas izveidotas, attiecīgi pārveidojot x un y, izmantojot strxfrm funkciju. Tad zvans uz strcmp (a, b) ir tāds pats kā zvans strcoll (x, y).

strxfrm () prototips

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

Funkcija strxfrm () pārveido pirmās virknes skaitīšanas rakstzīmes, uz kurām norāda src, par īstenošanas definētu formu, un rezultāts tiek saglabāts atmiņas vietā, uz kuru norāda dest.

Šīs funkcijas darbība nav definēta, ja:

  • dest izmērs ir mazāks par nepieciešamo izmēru.
  • dest un src pārklājas.

Tas ir definēts galvenes failā "> header file.

strxfrm () parametri

  • dest: rādītājs uz masīvu, kurā tiek saglabāta pārveidotā virkne.
  • src: rādītājs uz transformējamo nulles izbeigto virkni.
  • skaits: maksimālais pārveidojamo rakstzīmju skaits.

strxfrm () Atgriežamā vērtība

Funkcija strxfrm () atgriež pārveidoto rakstzīmju skaitu, izņemot beigu nulles rakstzīmi ' 0'.

Piemērs: Kā darbojas funkcija 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; )

Palaidot programmu, izeja būs:

 strcoll atgriezās -1 Pirms transformācijas strcmp atgriezās 1 Pēc transformācijas strcmp atgriezās -1

Interesanti raksti...