Freigeben über


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.

Siehe auch

Referenz

Datenkonvertierung

Gebietsschema

_mbclen, mblen, _mblen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

wcstombs, _wcstombs_l

WideCharToMultiByte