_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
_mbsspnp
nie 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
, _wcsspnp
i _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ść errno
EINVAL
.
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 zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_tcsspnp |
_strspnp |
_mbsspnp |
_wcsspnp |
_strspnp
i _wcsspnp
są wersjami znaków jednobajtowych i szerokiego _mbsspnp
znaku . _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