Freigeben über


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.

Siehe auch

Referenz

Datenkonvertierung

Locale

_mbclen, mblen, _mblen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

wcstombs, _wcstombs_l

WideCharToMultiByte