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 strCharSet
ist, 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 strCharSet
gehö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 _mbspn
errno
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. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Mapping generischer Textroutinen
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
Zeichenfolgenbearbeitung
Gebietsschema
Interpretation von Multibytezeichensequenzen
_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