Freigeben über


_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

Gibt die Anzahl von Zeichen oder Bytes innerhalb einer angegebenen Anzahl zurück.

Wichtiger HinweisWichtig

_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)

Gebietsschema

Interpretation von Mehrbytezeichen-Sequenzen

_mbsnbcat, _mbsnbcat_l