Freigeben über


_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l

Gibt einen Zeiger auf das erste Zeichen in einer bestimmten Zeichenfolge zurück, die nicht in einer anderen angegebenen Zeichenfolge enthalten ist.

Wichtig

_mbsspnp und _mbsspnp_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

char *_strspnp(
   const char *str,
   const char *charset
);
wchar_t *_wcsspnp(
   const unsigned wchar_t *str,
   const unsigned wchar_t *charset
);
unsigned char *_mbsspnp(
   const unsigned char *str,
   const unsigned char *charset
);
unsigned char *_mbsspnp_l(
   const unsigned char *str,
   const unsigned char *charset,
   _locale_t locale
);

Parameter

str
Zu suchende mit NULL endende Zeichenfolge.

charset
Mit NULL endender Zeichensatz.

locale
Zu verwendendes Gebietsschema.

Rückgabewert

_strspnp, _wcsspnpund _mbsspnp geben Sie einen Zeiger auf das erste Zeichen zurück, in str dem der Satz von Zeichen nicht charsetin . Jede dieser Funktionen gibt zurückNULL, wenn str sie vollständig aus Zeichen besteht.charset Für diese Routinen ist kein Rückgabewert zur Anzeige eines Fehlers reserviert.

Hinweise

Die _mbsspnp Funktion gibt einen Zeiger auf das Multibyte-Zeichen zurück, das das erste Zeichen ist, das str nicht zum Satz von Zeichen in charsetgehört. _mbsspnp erkennt Multibyte-Zeichenfolgen gemäß der aktuellen Multibyte-Codepage. Die Suche enthält nicht das Beenden von NULL-Zeichen.

Wenn es sich um strcharset einen Nullzeiger handelt, ruft diese Funktion den ungültigen Parameterhandler auf, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt die Funktion NULL zurück und setzt errno auf EINVAL.

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
_tcsspnp _strspnp _mbsspnp _wcsspnp

_strspnp und _wcsspnp sind Breitzeichen- und Einzelbytezeichen-Versionen von _mbsspnp. _strspnp und _wcsspnp verhalten sich identisch mit _mbsspnp anderen. Sie werden nur für diese Zuordnung bereitgestellt und sollten aus keinem anderen Grund verwendet werden. Weitere Informationen finden Sie unter Verwenden von generischen Textzuordnungen und generischen Textzuordnungen.

_mbsspnp_l ist nahezu identisch, verwendet jedoch stattdessen den übergebenen Gebietsschemaparameter. Weitere Informationen finden Sie unter Locale.

Anforderungen

Routine Erforderlicher Header
_mbsspnp <mbstring.h>
_strspnp <tchar.h>
_wcsspnp <tchar.h>

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

Beispiel

// crt_mbsspnp.c
#include <mbstring.h>
#include <stdio.h>

int main( void ) {
   const unsigned char string1[] = "cabbage";
   const unsigned char string2[] = "c";
   unsigned char *ptr = 0;
   ptr = _mbsspnp( string1, string2 );
   printf( "%s\n", ptr);
}

Ausgabe

abbage

Siehe auch

Zeichenfolgenmanipulation
Gebietsschema
Interpretation von Multibyte-Zeichensequenzen
strspn, wcsspn, _mbsspn, _mbsspn_l
strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l