strcspn, wcscspn, _mbscspn, _mbscspn_l

Gibt den Index des ersten Vorkommens in einer Zeichenfolge eines Zeichens zurück, das zu einem Zeichensatz gehört.

Wichtig

_mbschr und _mbschr_l können nicht in Anwendungen verwendet werden, die in der -Windows-Runtime. 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 strcspn(
   const char *str,
   const char *strCharSet
);
size_t wcscspn(
   const wchar_t *str,
   const wchar_t *strCharSet
);
size_t _mbscspn(
   const unsigned char *str,
   const unsigned char *strCharSet
);
size_t _mbscspn_l(
   const unsigned char *str,
   const unsigned char *strCharSet,
   _locale_t locale
);

Parameter

str
Auf NULL endende gesuchte Zeichenfolge.

strCharSet
Mit NULL endender Zeichensatz.

locale
Zu verwendendes Gebietsschema.

Rückgabewert

Diese Funktionen geben den Index des ersten Zeichens in str zurück, das sich in strCharSet befindet. Wenn sich keines der Zeichen in strCharSet befindet, ist der Rückgabewert die Länge von str.

Kein Rückgabewert ist zur Fehleranzeige reserviert.

Bemerkungen

wcscspnund _mbscspn sind Breitzeichen- und Multibytezeichenversionen von strcspn. Die Argumente von wcscspn sind Breitzeichenzeichenfolgen. bei den _mbscspn handelt es sich um Multibyte-Zeichenfolgen.

_mbscspn überprüft die Parameter. Wenn str oderstrCharSet ein NULL-Zeiger ist, wird der Handler für ungültige Parameter aufgerufen, wie unter Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt die Funktion 0 zurück und legt errno auf EINVAL fest. strcspn und wcscspn überprüfen ihre Parameter nicht. Diese drei Funktionen verhalten sich andernfalls identisch.

Der Ausgabewert ist von der Kategorieeinstellung LC_CTYPE des Gebietsschemas betroffen. 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 dies ändern, erfahren Sie unter Globaler Status in der CRT.

Zuordnung generischer Textroutinen

TCHAR.H-Routine & _UNICODE _MBCS nicht definiert _MBCS definiert _UNICODE definiert
_tcscspn strcspn _mbscspn wcscspn
_mbscspn_l

Anforderungen

-Routine zurückgegebener Wert Erforderlicher Header
strcspn <string.h>
wcscspn <string.h> oder <wchar.h>
_mbscspn, _mbscspn_l <mbstring.h>

Zusätzliche Informationen zur Kompatibilität finden Sie unter Compatibility.

Beispiel

// crt_strcspn.c

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

void test( const char * str, const char * strCharSet )
{
   int pos = strcspn( str, strCharSet );
   printf( "strcspn( \"%s\", \"%s\" ) = %d\n", str, strCharSet, pos );
}

int main( void )
{
   test( "xyzbxz", "abc" );
   test( "xyzbxz", "xyz" );
   test( "xyzbxz", "no match" );
   test( "xyzbxz", "" );
   test( "", "abc" );
   test( "", "" );
}
strcspn( "xyzbxz", "abc" ) = 3
strcspn( "xyzbxz", "xyz" ) = 0
strcspn( "xyzbxz", "no match" ) = 6
strcspn( "xyzbxz", "" ) = 6
strcspn( "", "abc" ) = 0
strcspn( "", "" ) = 0

Siehe auch

Zeichenfolgenbearbeitung
Gebietsschema
Interpretation von Multibyte-Character Sequenzen
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
strspn, wcsspn, _mbsspn, _mbsspn_l