_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é
_mbsspnp
a _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
, _wcsspnp
a _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 str
charset
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 definovaný |
_UNICODE definovaný |
---|---|---|---|
_tcsspnp |
_strspnp |
_mbsspnp |
_wcsspnp |
_strspnp
a _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