wctomb, _wctomb_l
Konvertiert ein Breitzeichen zum entsprechenden Mehrbytezeichen. Sicherere Versionen dieser Funktionen sind verfügbar. Informationen dazu finden Sie unter wctomb_s, _wctomb_s_l.
int wctomb(
char *mbchar,
wchar_t wchar
);
int _wctomb_l(
char *mbchar,
wchar_t wchar,
_locale_t locale
);
Parameter
mbchar
Die Adresse eines Mehrbytezeichens.wchar
Bei einem Breitzeichen.
Rückgabewert
Wenn wctomb das Breitzeichen einem Mehrbytezeichen konvertiert, wird die Anzahl von Bytes (die nie größer als MB_CUR_MAX ist), im Breitzeichen zurück. Wenn wchar das NULL-Breitzeichen (L"\0") ist, wctomb gibt 1 zurück. Wenn der Zielzeiger mbchar NULL ist, wctomb gibt 0 zurück. Wenn die Konvertierung nicht im aktuellen Gebietsschema möglich ist, wird wctomb zurückgegeben - 1 und errno ist auf EILSEQ festgelegt.
Hinweise
Die wctomb-Funktion konvertiert sein wchar-Argument zum entsprechenden Mehrbytezeichen und speichert das Ergebnis bei mbchar. Sie können die Funktion von einem beliebigen Punkt in jedes Programm aufrufen. wctomb verwendet das aktuelle Gebietsschema jedes gebietsschemaabhängigen Verhalten; _wctomb_l ist mit wctomb identisch, es verwendet das Gebietsschema, das ein- stattdessen übergeben wird. Weitere Informationen finden Sie unter Locale.
wctomb überprüft die eigenen Parameter. Wenn mbchar den Wert NULL annimmt, wird der ungültige Parameterhandler, wie in Parametervalidierung beschrieben, aufgerufen. Wenn die Ausführung zulässig ist, um fortzufahren, wird errno auf EINVAL und Funktionsrückgaben -1 festgelegt.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
wctomb |
<stdlib.h> |
Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Beispiel
Dieses Programm veranschaulicht das Verhalten der wctomb Funktion.
// crt_wctomb.cpp
// compile with: /W3
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int i;
wchar_t wc = L'a';
char *pmb = (char *)malloc( MB_CUR_MAX );
printf( "Convert a wide character:\n" );
i = wctomb( pmb, wc ); // C4996
// Note: wctomb is deprecated; consider using wctomb_s
printf( " Characters converted: %u\n", i );
printf( " Multibyte character: %.1s\n\n", pmb );
}
.NET Framework-Entsprechung
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.