_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l

Zwraca wskaźnik do pierwszego znaku w danym ciągu, który nie znajduje się w innym ciągu.

Ważne

_mbsspnpnie można jej _mbsspnp_l używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.

Składnia

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
Ciąg zakończony wartością null do wyszukania.

charset
Zestaw znaków zakończonych wartościami null.

locale
Ustawienia regionalne do użycia.

Wartość zwracana

_strspnp, _wcsspnpi _mbsspnp zwraca wskaźnik do pierwszego znaku wstr, który nie należy do zestawu znaków w .charset Każda z tych funkcji zwraca wartość NULL , jeśli str składa się całkowicie z znaków z charset. Dla każdej z tych procedur żadna wartość zwracana nie jest zarezerwowana, aby wskazać błąd.

Uwagi

Funkcja _mbsspnp zwraca wskaźnik do wielobajtowego znaku, który jest pierwszym znakiem, str który nie należy do zestawu znaków w obiekcie charset. _mbsspnp rozpoznaje sekwencje wielobajtowe znaków zgodnie ze stroną kodową wielobajtową, która jest obecnie używana. Wyszukiwanie nie zawiera znaków null zakończenia.

Jeśli element str lub charset jest wskaźnikiem o wartości null, ta funkcja wywołuje nieprawidłową procedurę obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, funkcja zwraca NULL i ustawia wartość errnoEINVAL.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

Procedura tchar.h _UNICODE i _MBCS niezdefiniowane _MBCS Zdefiniowane _UNICODE Zdefiniowane
_tcsspnp _strspnp _mbsspnp _wcsspnp

_strspnp i _wcsspnp są wersjami znaków jednobajtowych i szerokiego _mbsspnpznaku . _strspnp i _wcsspnp zachowują się identycznie jak _mbsspnp w przeciwnym razie; są one udostępniane tylko dla tego mapowania i nie powinny być używane z żadnego innego powodu. Aby uzyskać więcej informacji, zobacz Using generic-text mappings and Generic-text mappings (Używanie mapowań tekstu ogólnego i ogólnego tekstu).

_mbsspnp_l jest identyczna, z tą różnicą, że używa parametru ustawień regionalnych przekazanych w zamian. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Wymagania

Procedura Wymagany nagłówek
_mbsspnp <mbstring.h>
_strspnp <Tchar.h>
_wcsspnp <Tchar.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

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

Wynik

abbage

Zobacz też

Manipulowanie ciągami
ustawienia regionalne
Interpretacja sekwencji znaków wielobajtowych
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