strcspn, wcscspn, _mbscspn, _mbscspn_l
Gibt den Index des ersten Vorkommens eines Zeichens in einer Zeichenfolge zurück, die eine Reihe von Zeichen gehört.
Wichtig |
---|
_mbschr und _mbschr_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 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 Suchzeichenfolge.strCharSet
Auf NULL endende Zeichensatz.locale
Zu verwendende Gebietsschema.
Rückgabewert
Diese Funktionen geben den Index des ersten Zeichens in str zurück, das in strCharSet ist.Wenn keines der Zeichen in str in strCharSet ist, ist der Rückgabewert die Länge von str.
Kein Rückgabewert wird reserviert, um einen Fehler anzugeben.
Hinweise
wcscspn und _mbscspn sind Breitzeich und Mehrbytezeichen-Versionen von strcspn.Die Argumente von wcscspn sind Breitzeichen-Zeichenfolgen; die von _mbscspn sind Mehrbyte-Zeichenfolgen.
_mbscspn überprüft seine Parameter.Wenn entweder str oder strCharSet ein NULL-Zeiger ist, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, gibt die Funktion 0 zurück und legt errno zu EINVAL fest.strcspn und wcscspn überprüfen nicht ihre Parameter.Diese drei Funktionen verhalten sich andernfalls identisch.
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
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> |
So zusätzlicher Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
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
Siehe auch
Referenz
Zeichenfolgenbearbeitung (CRT)
Interpretation von Mehrbytezeichen-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