strxfrm(3C) strxfrm(3C)
NAME
strxfrm - Transformation von Zeichenketten durchführen
SYNTAX
#include <string.h>
sizet strxfrm(char *s1, const char *s2, sizet n);
BESCHREIBUNG
strxfrm() transformiert die Zeichenkette s2 und schreibt die resultie-
rende Zeichenkette in das Feld s1. Die Transformation läuft so ab, daß
bei Anwendung von strcmp() auf zwei transformierte Zeichenketten ein
ähnliches Resultat zurückgegeben wird, als wenn strcoll() auf die bei-
den originalen Zeichenketten angewendet würde. Die Transformation
hängt von der lokalen Einstellung der Kategorie LCCOLLATE des Pro-
gramms ab [siehe setlocale(3C)].
Nicht mehr als n Bytes (einschließlich des abschließenden Nullbytes)
werden in das Feld geschrieben, auf das s1 zeigt. Wenn n gleich 0 ist,
dann darf s1 ein Nullzeiger sein. Wenn zwei sich überlappende Objekte
kopiert werden, ist das Verhalten undefiniert.
strxfrm() liefert die Länge der transformierten Zeichenkette (aus-
schließlich des abschließenden Nullbytes) zurück. Ist der zurückgelie-
ferte Wert gleich n oder größer, ist der Inhalt des Felds s1 undefi-
niert.
BEISPIELE
Der Wert des folgenden Ausdrucks ist die Feldlänge, welche benötigt
wird, um die Transformation der Zeichenkette s aufzunehmen:
1 + strxfrm(NULL, s, 0);
ERGEBNIS
Bei einem Fehler liefert strxfrm() den Wert (sizet)-1.
Da der Rückgabewert im Fehlerfall nicht festgelegt ist, können Fehler
nur wie folgt festgestellt werden: errno wird auf 0 gesetzt, dann wird
strxfrm() aufgerufen und errno geprüft. Wenn errno ungleich 0 ist, muß
ein Fehler aufgetreten sein.
DATEIEN
/usr/lib/locale/locale/LCCOLLATE
Datenbasis für locale
SIEHE AUCH
colltbl(1M), setlocale(3C), strcoll(3C), string(3C), environ(5).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98