Freigeben über


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 Windows-Runtime ausgeführt werden.Weitere Informationen finden Sie unter CRT-Funktionen nicht mit /ZW unterstützt.

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 str in strCharSet befindet, entspricht der Rückgabewert der Länge von str.

Kein Rückgabewert ist zur Fehleranzeige reserviert.

Hinweise

wcscspn und _mbscspn sind Breitzeichen- und Multibytezeichenversionen von strcspn. Die Argumente von wcscspn sind Breitzeichen-Zeichenfolgen, die von _mbscspn sind Multibyte-Zeichenfolgen.

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

Der Ausgabewert ist von der LC_CTYPE-Kategorieneinstellung 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.

Zuordnung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_tcscspn

strcspn

_mbscspn

wcscspn

n/a

n/a

_mbscspn_l

n/a

Anforderungen

Routine

Erforderlicher Header

strcspn

<string.h>

wcscspn

<string.h> oder <wchar.h>

_mbscspn, _mbscspn_l

<mbstring.h>

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

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( "", "" );
}
  

.NET Framework-Entsprechung

System::String::Substring

Siehe auch

Referenz

Zeichenfolgenbearbeitung (CRT)

Locale

Interpretation von Mehrbytezeichensequenzen

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