strspn, wcsspn, _mbsspn, _mbsspn_l

Gibt den Index des ersten Zeichens in einer Zeichenfolge zurück, die nicht zu einem angegebenen Satz von Zeichen gehört.

Wichtig

_mbsspn und _mbsspn_l können nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).

Syntax

size_t strspn(
   const char *str,
   const char *strCharSet
);
size_t wcsspn(
   const wchar_t *str,
   const wchar_t *strCharSet
);
size_t _mbsspn(
   const unsigned char *str,
   const unsigned char *strCharSet
);
size_t _mbsspn_l(
   const unsigned char *str,
   const unsigned char *strCharSet,
   _locale_t locale
);

Parameter

str
Zu suchende mit NULL endende Zeichenfolge.

strCharSet
Mit NULL endender Zeichensatz.

locale
Zu verwendendes Gebietsschema.

Rückgabewert

Gibt einen ganzzahligen Wert zurück, der die Länge der Teilzeichenfolge angibt, die str vollständig aus Zeichen besteht in strCharSet. Wenn str sie mit einem Zeichen beginnt, das nicht enthalten strCharSetist, gibt die Funktion 0 zurück.

Hinweise

Die strspn Funktion gibt den Index des ersten Zeichens zurück, in str dem nicht der Satz von Zeichen in strCharSetgehört. Die Suche enthält nicht das Beenden von NULL-Zeichen.

wcsspn und _mbsspn sind Breitzeichen- und Multibytezeichenversionen von strspn. Bei den Argumenten handelt es wcsspn sich um Zeichenfolgen mit breitem Zeichen. Die Argumente sind _mbsspn Multibyte-Zeichenfolgen. _mbsspn überprüft die eigenen Parameter. Wenn str oder strCharSet ist NULL, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, legt _mbspnerrno auf EINVAL fest und gibt 0 zurück. strspn und wcsspn überprüfen Sie ihre Parameter nicht. Diese drei Funktionen verhalten sich andernfalls identisch.

Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieeinstellung des Gebietsschemas beeinflusst. Weitere Informationen finden Sie unter setlocale. Die Versionen dieser Funktionen ohne das _l-Suffix verwenden das aktuelle Gebietsschema für dieses vom Gebietsschema abhängige Verhalten; die Versionen mit dem _l-Suffix sind beinahe identisch, verwenden jedoch stattdessen den ihnen übergebenen Gebietsschemaparameter. Weitere Informationen finden Sie unter Locale.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.

Generische Textroutinzuordnungen

TCHAR.H-Routine _UNICODE und _MBCS nicht definiert _MBCS Definiert _UNICODE Definiert
_tcsspn strspn _mbsspn wcsspn
Nicht zutreffend Nicht zutreffend _mbsspn_l Nicht zutreffend

Anforderungen

Routine Erforderlicher Header
strspn <string.h>
wcsspn <string.h> oder <wchar.h>
_mbsspn, _mbsspn_l <mbstring.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

// crt_strspn.c
// This program uses strspn to determine
// the length of the segment in the string "cabbage"
// consisting of a's, b's, and c's. In other words,
// it finds the first non-abc letter.
//

#include <string.h>
#include <stdio.h>

int main( void )
{
   char string[] = "cabbage";
   int  result;
   result = strspn( string, "abc" );
   printf( "The portion of '%s' containing only a, b, or c "
           "is %d bytes long\n", string, result );
}
The portion of 'cabbage' containing only a, b, or c is 5 bytes long

Siehe auch

Zeichenfolgenmanipulation
Gebietsschema
Interpretation von Multibyte-Zeichensequenzen
_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l
strcspn, wcscspn, _mbscspn, _mbscspn_l
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l