wctomb, _wctomb_l
Konvertieren eines Breitzeichen in den entsprechenden Mehrbytezeichen.Sicherere Versionen dieser Funktionen sind verfügbar. Weitere Informationen 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
Ein Breitzeichen.
Rückgabewert
Wenn wctomb der Breitzeichen in einen Mehrbytezeichen konvertiert, gibt es die Anzahl der Bytes (die nie größer als MB_CUR_MAX) in Breitzeichen zurück.Wenn das wchar NULL-Breitzeichen (L \ 0 ') ist, gibt wctomb 1 zurück.Wenn der Zeiger auf das Ziel mbchar NULL ist, gibt wctomb 0 zurück.Wenn die Konvertierung nicht im aktuellen Gebietsschema möglich ist, wird wctomberrno und 1 zurück EILSEQfestgelegt wird.
Hinweise
Die wctomb-Funktion konvertiert werden wchar-Argument an den entsprechenden Mehrbytezeichen und speichert das Ergebnis an mbchar.Sie können die Funktion aus einem beliebigen Punkt in jedem Programm aufrufen.wctomb verwendet das aktuelle Gebietsschema für ein beliebiges gebietsschemaabhängige Verhalten. _wctomb_l ist mit wctomb identisch, mit der Ausnahme, dass sie verwendet das Gebietsschema, das Stattdessen übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.
wctomb überprüft seine Parameter.Wenn mbcharNULLungültige Parameter ist, wird der Ereignishandler aufgerufen, wie in Parametervalidierungbeschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, wird errno zu EINVAL festgelegt, und die Funktion gibt -1 zurück.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
wctomb |
<stdlib.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
Dieses Programm wird 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. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.