Sdílet prostřednictvím


_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l

Vrátí ukazatel na první znak v daném řetězci, který není v jiném daném řetězci.

Důležité

_mbsspnpa _mbsspnp_l nelze je použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.

Syntaxe

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
);

Parametry

str
Řetězec ukončený hodnotou null, který se má prohledávat.

charset
Znaková sada s ukončenou hodnotou null.

locale
Národní prostředí, které se má použít.

Vrácená hodnota

_strspnp, _wcsspnpa _mbsspnp vrátit ukazatel na první znak, str který nepatří do sady znaků v charset. Každá z těchto funkcí vrátí NULL , pokud str se skládá zcela z znaků z charset. Pro každou z těchto rutin není žádná návratová hodnota vyhrazena k označení chyby.

Poznámky

Funkce _mbsspnp vrátí ukazatel na vícebajtový znak, který je prvním znakem, který str nepatří do sady znaků v charset. _mbsspnp rozpozná vícebajtové sekvence znaků podle aktuálně používané znakové stránky s vícebajty. Hledání neobsahuje ukončující znaky null.

Pokud je nebo strcharset je ukazatel null, tato funkce vyvolá neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, funkce vrátí NULL a nastaví errno na EINVAL.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Mapování rutin obecného textu

Rutina Tchar.h _UNICODE a _MBCS není definován _MBCS Definovány _UNICODE Definovány
_tcsspnp _strspnp _mbsspnp _wcsspnp

_strspnpa _wcsspnp jsou jednobajtů a širokoznakových verzí ._mbsspnp _strspnp a _wcsspnp chovají se stejně jako _mbsspnp v opačném případě, jsou k dispozici pouze pro toto mapování a neměly by se používat z jakéhokoli jiného důvodu. Další informace naleznete v tématu Použití mapování obecného textu a mapování obecného textu.

_mbsspnp_l je shodný s tím rozdílem, že místo toho používá parametr národního prostředí předaný. Další informace naleznete v tématu Národní prostředí.

Požadavky

Rutina Požadovaný hlavičkový soubor
_mbsspnp <mbstring.h>
_strspnp <Tchar.h>
_wcsspnp <Tchar.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

// 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);
}

Výstup

abbage

Viz také

Manipulace s řetězci
Národní prostředí
Interpretace vícebajtových sekvencí znaků
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