C ++ strxfrm () - C ++ szabványos könyvtár

A strxfrm () függvény a C ++ - ban egy adott null végű bájt karakterláncot egy megvalósítás által meghatározott formává alakít át.

Az strxfrm () függvény úgy alakítja át a karakterláncot, hogy két transzformált karakterlánc összehasonlítása az strcmp () függvény használatával azonos eredményt eredményez, mint az eredeti karakterláncok összehasonlítása az strcoll () függvény használatával az aktuális C területi beállításokban.

Például x és y két húr. a és b két sztring, amelyet x, illetve y transzformálásával hozunk létre az strxfrm függvény segítségével. Ekkor az strcmp (a, b) hívása megegyezik az strcoll (x, y) hívásával.

strxfrm () prototípus

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

Az strxfrm () függvény átalakítja az string által az src által mutatott első számláló karaktereket egy megvalósítás által definiált formává, és az eredmény a cél által jelzett memóriahelyen lesz tárolva.

Ennek a függvénynek a viselkedése nincs meghatározva, ha:

  • a dest mérete kisebb, mint az előírt méret.
  • dest és src átfedik egymást.

A "header file"> header fájlban van meghatározva.

strxfrm () Paraméterek

  • dest: mutató arra a tömbre, ahol az átalakított karakterlánc van tárolva.
  • src: mutató az átalakítandó null végű karakterláncra.
  • count: az átalakítandó karakterek maximális száma.

strxfrm () Visszatérési érték

Az strxfrm () függvény visszaadja az átalakított karakterek számát, kivéve a „ 0” befejező null karaktert.

Példa: Hogyan működik az strxfrm () függvény?

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

A program futtatásakor a kimenet a következő lesz:

 strcoll return -1 transzformáció előtt strcmp visszatért 1 Transformálás után strcmp -1 értéket adott vissza

érdekes cikkek...