_mbclen, mblen, _mblen_l
Ruft die Länge ab und bestimmt die Gültigkeit eines Mehrbytezeichens.
![]() |
---|
Diese API kann nicht in den Anwendungen verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW. |
size_t _mbclen( const unsigned char *c ); int mblen( const char *mbstr, size_t count ); int _mblen_l( const char *mbstr, size_t count, _locale_t locale );
Parameter
c
Mehrbytezeichen.mbstr
Adresse einer Mehrbytezeichenbytesequenz.count
Anzahl Bytes zu überprüfen.locale
Zu verwendende Gebietsschema.
Rückgabewert
_mbclen gibt 1 oder 2 zurück, je nachdem ob das Mehrbytezeichen c 1 oder 2 Byte ist.Es gibt keine Fehlerrückgabe für _mbclen.Wenn mbstr nicht NULL ist, gibt mblen, die Länge in Bytes, des Mehrbytezeichens zurück.Wenn mbstrNULL ist, oder es zum NULL-Breitzeichen zeigt, mblen gibt 0 zurück.Wenn das Objekt, auf mbstr Punkte kein gültiges Mehrbytezeichen innerhalb der ersten count Zeichen bildet, mblen zurückgibt und 1.
Hinweise
Die _mbclen-Funktion gibt die Länge, in Bytes, des Mehrbytezeichens c zurück.Wenn c nicht zum führendes Byte eines Mehrbytezeichens zeigt, wie durch einen impliziten Aufruf _ismbblead bestimmt, ist das Ergebnis _mbclen unvorhersehbar.
mblen gibt die Länge in Bytes von mbstr, wenn ein gültiges Mehrbytezeichen ist zurück und bestimmt die Mehrbytezeichengültigkeit, die mit der Codepage zugeordnet ist.mblen überprüft count oder weniger Bytes, die in mbstr, aber enthalten sind, nicht mehr als MB_CUR_MAX Bytes.
Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieneinstellung des Gebietsschemas betroffen; setlocale finden Sie weitere Informationen.Die Versionen dieser Funktionen ohne das _l Suffix verwenden das aktuelle Gebietsschema für dieses Verhalten abhängig; die Versionen mit dem _l Suffix sind identisch, allerdings verwenden den Gebietsschemaparameter, der in stattdessen übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.
Zuordnung generische Textroutinen
Tchar.h-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tclen |
Zuordnungen zum Makro oder die Inlinefunktion |
_mbclen |
Zuordnungen zum Makro oder die Inlinefunktion |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_mbclen |
<mbstring.h> |
mblen |
<stdlib.h> |
_mblen_l |
<stdlib.h> |
Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
Beispiel
// crt_mblen.c
/* illustrates the behavior of the mblen function
*/
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
int i;
char *pmbc = (char *)malloc( sizeof( char ) );
wchar_t wc = L'a';
printf( "Convert wide character to multibyte character:\n" );
wctomb_s( &i, pmbc, sizeof(char), wc );
printf( " Characters converted: %u\n", i );
printf( " Multibyte character: %x\n\n", *pmbc );
i = mblen( pmbc, MB_CUR_MAX );
printf( "Length in bytes of multibyte character %x: %u\n", *pmbc, i );
pmbc = NULL;
i = mblen( pmbc, MB_CUR_MAX );
printf( "Length in bytes of NULL multibyte character %x: %u\n", pmbc, i );
}
Ausgabe
Convert wide character to multibyte character:
Characters converted: 1
Multibyte character: 61
Length in bytes of multibyte character 61: 1
Length in bytes of NULL multibyte character 0: 0
.NET Framework-Entsprechung
Nicht zutreffend. Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.
Siehe auch
Referenz
Interpretation von Mehrbytezeichen-Sequenzen
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l