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