Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

wctomb_s, _wctomb_s_l

Konvertiert ein Breitzeichen in den entsprechenden Mehrbytezeichen. Eine Version von wctomb, _wctomb_l mit unter Security Enhancements, wie in Sicherheitsfeatures im CRTbeschrieben.

errno_t wctomb_s(
   int *pRetValue,
   char *mbchar,
   size_t sizeInBytes,
   wchar_t wchar 
);
errno_t _wctomb_s_l(
   int *pRetValue,
   char *mbchar,
   size_t sizeInBytes,
   wchar_t wchar,
   _locale_t locale
);

[out] pRetValue

Die Anzahl von Bytes oder ein Code, der das Ergebnis angibt.

[out] mbchar

Die Adresse eines Mehrbytezeichens.

[in] sizeInBytes

Größe des Puffers mbchar.

[in] wchar

Ein Breitzeichen.

[in] locale

Das zu verwendende Gebietsschema.

Bei Erfolg 0, im Fehlerfall ein Fehlercode.

Fehlerbedingungen

mbchar

sizeInBytes

Rückgabewert

pRetValue

NULL

>0

EINVAL

nicht geändert

beliebig

>INT_MAX

EINVAL

nicht geändert

beliebig

zu klein

EINVAL

nicht geändert

Wenn eine der oben genannten Fehlerzuständen, wird der Ereignishandler aufgerufen wird auf ungültige Parameter in Parametervalidierungbeschrieben. Wenn die Ausführung ermöglicht wird, um fortzufahren, gibt wctombEINVAL zurück und legt ihn fest. EINVALzu errno

Die wctomb_s-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.

Wenn wctomb_s der Breitzeichen in einen Mehrbytezeichen konvertiert, setzt er die Anzahl der Bytes (die nie größer als MB_CUR_MAX) in der Breitzeichen, die in die ganze Zahl ein, die durch pRetValuedargestellt wird. Wenn das wchar NULL-Breitzeichen (L \ 0 ') ist, füllt wctomb_spRetValue mit 1 aus. Wenn der Zeiger auf das Ziel mbchar NULL ist, gibt wctomb_s 0 in pRetValueein. Wenn die Konvertierung nicht im aktuellen Gebietsschema möglich ist, setzt wctomb_s 1 in pRetValue.

wctomb_s verwendet das aktuelle Gebietsschema gebietsschemaabhängiger Informationen. _wctomb_s_l ist identisch, mit der Ausnahme, dass sie verwendet das Gebietsschema, das Stattdessen übergeben wird. Weitere Informationen finden Sie unter Gebietsschema.

Routine

Erforderlicher Header

wctomb_s

<stdlib.h>

_wctomb_s_l

<stdlib.h>

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

Dieses Programm wird das Verhalten der wctomb-Funktion.

// crt_wctomb_s.cpp
#include <stdio.h>
#include <stdlib.h>

int main( void )
{
    int i;
    wchar_t wc = L'a';
    char *pmb = (char *)malloc( MB_CUR_MAX );

    printf_s( "Convert a wide character:\n" );
    wctomb_s( &i, pmb, MB_CUR_MAX, wc );
    printf_s( "   Characters converted: %u\n", i );
    printf_s( "   Multibyte character: %.1s\n\n", pmb );
}
Konvertieren eines Breitzeichen:
   Zeichen konvertiert: 1
   Mehrbytezeichen: a

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

Community-Beiträge

HINZUFÜGEN
Anzeigen: