(0) exportieren Drucken
Alle erweitern
CAB
Uhr
EOF
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l

Transformieren einer Zeichenfolge auf Grundlage gebietsschemaspezifische Informationen.

size_t strxfrm(
   char *strDest,
   const char *strSource,
   size_t count 
);
size_t wcsxfrm(
   wchar_t *strDest,
   const wchar_t *strSource,
   size_t count 
);
size_t _strxfrm_l(
   char *strDest,
   const char *strSource,
   size_t count,
   _locale_t locale
);
size_t wcsxfrm_l(
   wchar_t *strDest,
   const wchar_t *strSource,
   size_t count,
   _locale_t locale
);

strDest

Zielzeichenfolge.

strSource

Quellzeichenfolge.

count

Maximale Anzahl von Zeichen in strDestplatziert werden sollen.

locale

Das zu verwendende Gebietsschema.

Gibt die Länge der transformierten Zeichenfolge zurück und nicht gezählt wird das NULL. Wenn der Rückgabewert größer oder gleich countist, wird der Inhalt von strDest unvorhersehbar. Bei einem Fehler wird jede Funktion errno fest und gibt INT_MAXzurück. Für ein ungültiges Zeichen wird errno zu EILSEQfestgelegt.

Die strxfrm-Funktion wandelt die Zeichenfolge, die durch strSource in ein neues sortiertes Formular angezeigt wird, das in strDestgespeichert wird. Nicht mehr als count Zeichen einschließlich NULL-Zeichen, werden in die resultierende Zeichenfolge umgewandelt und platziert. Die Transformation wird mit der LC_COLLATE Kategorieeinstellung des Gebietsschemas gemacht. Weitere Informationen zu LC_COLLATEfinden Sie unter setlocale. strxfrm verwendet das aktuelle Gebietsschema für das gebietsschemaabhängiges Verhalten. _strxfrm_l ist identisch, mit der Ausnahme, dass sie verwendet das Gebietsschema, das anstatt des aktuellen Gebietsschemas übergeben wird. Weitere Informationen finden Sie unter Gebietsschema.

Nach der Transformation führt ein Aufruf strcmp mit den beiden transformierten Zeichenfolgen mit denen die Ergebnisse eines Aufrufs von strcoll angewendeten sind identisch mit den ursprünglichen zwei Zeichenfolgen. Wie bei strcoll und stricollstrxfrm Mehrbyte-Zeichenfolgen automatisch behandelt.

wcsxfrm ist eine Breitzeichen-Version von strxfrm. die Zeichenfolgenargumente aus wcsxfrm sind Breitzeiche Zeiger. Für wcsxfrmtransformation Zeichenfolgen nach dem Aufruf von wcscmp wird mit den beiden transformierten Zeichenfolgen mit denen die Ergebnisse eines Aufrufs von wcscoll angewendeten sind identisch mit den ursprünglichen zwei Zeichenfolgen. wcsxfrm und strxfrm verhalten sich ansonsten unterscheiden. wcsxfrm verwendet das aktuelle Gebietsschema für das gebietsschemaabhängiges Verhalten. _wcsxfrm_l verwendet das Gebietsschema, das anstatt des aktuellen Gebietsschemas übergeben wird.

Diese Funktionen überprüfen ihre Parameter. Wenn strSource ein NULL-Zeiger ist, oder strDest ein NULL-Zeiger ist (es sei denn, Anzahl null) oder größer als countINT_MAXungültige Parameter ist, wird der Ereignishandler aufgerufen, wie in Parametervalidierung beschrieben. Wenn die Ausführung fortgesetzt werden kann, darf dieses Features zu errno festlegen EINVAL und geben INT_MAX.

Zuweisung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_tcsxfrm

strxfrm

strxfrm

wcsxfrm

_tcsxfrm_l

_strxfrm_l

_strxfrm_l

_wcsxfrm_l

Im Gebietsschema „C“ ist die Reihenfolge der Zeichen im Zeichensatz (ASCII-Zeichensatz) identisch mit der lexikografische Reihenfolge der Zeichen. In anderen Gebietsschemas, unterscheidet sich die Reihenfolge der Zeichen im Zeichensatz von der lexikografischen Zeichenreihenfolge. Beispielsweise kann in bestimmten europäischen Gebietsschemas, wechselt das Zeichen „a“ (Wert) 0x61 dem Zeichen „&#x00E4 voran. 0xE4 Wert (“) im Zeichensatz, aber in Zeichen „ä“ geht dem Zeichen „a“ lexikografisch voran.

In den Gebietsschemas, für die der Zeichensatz und die lexikografische Zeichenreihenfolge unterscheiden, verwenden Sie strxfrm auf den ursprünglichen Zeichenfolgen und strcmp auf den resultierenden Zeichenfolgen gewonnen, einen lexikografischen Zeichenfolgenvergleiche gemäß der aktuellen LC_COLLATE Kategorieeinstellung des Gebietsschemas dann zu erzeugen. Wie im obigen zwei Zeichenfolgen vergleichen, lexikografisch Gebietsschema verwendet strxfrm auf den ursprünglichen Zeichenfolgen, strcmp auf den resultierenden Zeichenfolgen gewonnen. Wahlweise können Sie strcollstrcmp anstatt auf den ursprünglichen Zeichenfolgen verwenden.

strxfrm ist im Allgemeinen ein Wrapper um LCMapString mit LCMAP_SORTKEY.

Der Wert des folgenden Ausdrucks beträgt die Größe des Arrays, das erforderlich ist, um die strxfrm Transformation der Quellzeichenfolge aufzunehmen:

1 + strxfrm( NULL, string, 0 )

Nur im Gebietsschema „C“, strxfrm entspricht dem folgenden Code:

strncpy( _string1, _string2, _count );
return( strlen( _string1 ) );

Routine

Erforderlicher Header

strxfrm

<string.h>

wcsxfrm

<string.h> oder <wchar.h>

_strxfrm_l

<string.h>

_wcsxfrm_l

<string.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft