_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
Gibt die Anzahl von Zeichen oder Bytes innerhalb einer angegebenen Anzahl zurück.
Wichtig |
---|
_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt und _mbsnccnt_l können in Anwendungen nicht verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW. |
size_t _strncnt( const char *str, size_t count ); size_t _wcsncnt( const wchar_t *str, size_t count ); size_t _mbsnbcnt( const unsigned char *str, size_t count ); size_t _mbsnbcnt_l( const unsigned char *str, size_t count, _locale_t locale ); size_t _mbsnccnt( const unsigned char *str, size_t count ); size_t _mbsnccnt_l( const unsigned char *str, size_t count, _locale_t locale );
Parameter
str
Überprüft werden Zeichenfolge.count
Zahl in str überprüft werden Zeichen oder Bytes.locale
Zu verwendende Gebietsschema.
Rückgabewert
_mbsnbcnt und _mbsnbcnt_l geben die Anzahl der Bytes zurück, die in count von Mehrbytezeichen von ersten str gefunden werden._mbsnccnt und _mbsnccnt_l geben die Anzahl von Zeichen zurück, die in ersten count von Bytes von str gefunden werden.Wenn ein NULL-Zeichen erreicht wird, bevor die Überprüfung von str abgeschlossen ist, geben die Anzahl der Bytes zurück, oder Zeichen starten vor dem NULL-Zeichen.Wenn str aus weniger als count Zeichen oder -Bytes besteht, geben die Anzahl von Zeichen oder Bytes in der Zeichenfolge zurück.Wenn count kleiner als null ist, geben sie 0 zurück.In früheren Versionen hatten diese Funktionen einen Rückgabewert vom int statt size_t.
_strncnt gibt die Anzahl der Zeichen in den ersten count Bytes der Einzelbytezeichenfolge str zurück._wcsncnt gibt die Anzahl der Zeichen in den ersten count Breitzeichen der Zeichenfolge mit Breitzeichen str zurück.
Hinweise
_mbsnbcnt und _mbsnbcnt_l zählen die Anzahl der Bytes, die in count von Mehrbytezeichen von ersten str gefunden werden._mbsnbcnt und _mbsnbcnt_l ersetzen mtob und sollten anstelle mtob verwendet werden.
_mbsnccnt und _mbsnccnt_l zählen die Anzahl von Zeichen, die in ersten count von Bytes von str gefunden werden.Wenn _mbsnccnt und _mbsnccnt_l eine NULL im zweiten Byte eines Doppelbytezeichens auftritt, wird das erste Byte auch als NULL betrachtet und nicht in zurückgegebenen Zählwert enthalten._mbsnccnt und _mbsnccnt_l ersetzen btom und sollten anstelle btom verwendet werden.
Wenn str ein NULL-Zeiger ist oder count ist 0 ist, rufen diese Funktionen den ungültigen Parameterhandler auf, wie in Parametervalidierung, errno beschrieben zu EINVAL und - Funktion 0 festgelegt ist.
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
Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tcsnbcnt |
_strncnt |
_mbsnbcnt |
_wcsncnt |
_tcsnccnt |
_strncnt |
_mbsnbcnt |
n/a |
_wcsncnt |
n/a |
n/a |
_mbsnbcnt |
_wcsncnt |
n/a |
n/a |
_mbsnccnt |
n/a |
n/a |
_mbsnbcnt_l |
_mbsnccnt_l |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_mbsnbcnt |
<mbstring.h> |
_mbsnbcnt_l |
<mbstring.h> |
_mbsnccnt |
<mbstring.h> |
_mbsnccnt_l |
<mbstring.h> |
_strncnt |
<tchar.h> |
_wcsncnt |
<tchar.h> |
Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
Beispiel
// crt_mbsnbcnt.c
#include <mbstring.h>
#include <stdio.h>
int main( void )
{
unsigned char str[] = "This is a multibyte-character string.";
unsigned int char_count, byte_count;
char_count = _mbsnccnt( str, 10 );
byte_count = _mbsnbcnt( str, 10 );
if ( byte_count - char_count )
printf( "The first 10 characters contain %d multibyte characters\n", char_count );
else
printf( "The first 10 characters are single-byte.\n");
}
Ausgabe
The first 10 characters are single-byte.
.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
Zeichenfolgenbearbeitung (CRT)