Поделиться через


_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l

Возвращает указатель на первый символ в заданной строке, не входящий в другую заданную строку.

Важно!

_mbsspnp и _mbsspnp_l невозможно использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.

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

Параметры

  • str
    Строка, заканчивающаяся нулевым символом, в которой будет производиться поиск.

  • charset
    Набор символов, завершающийся символом NULL.

  • locale
    Языковой стандарт, который необходимо использовать.

Возвращаемое значение

_strspnp, _wcsspnp и _mbsspnp возвращают указатель на первый символ в str, который не входит в набор символов в charset*.* Каждая из этих функций возвращает NULL, если str полностью состоит из символов charset*.* У каждой из этих процедур нет возвращаемого значения для обозначения ошибки.

Заметки

Функция _mbsspnp возвращает указатель на многобайтовый символ, который является первым символом в str, не входящим в набор символов в charset. _mbsspnp распознает последовательности многобайтовых символов в соответствии с использующейся многобайтовой кодовой страницей. Поиск не распространяется на завершающий нулевой символ.

Если str или charset является указателем null, то функция вызывает обработчик недопустимого параметра, как описано в Проверка параметров. Если выполнение разрешено для продолжить, функция возвращает NULL и задает errno в EINVAL.

Универсальное текстовое сопоставление функций

Подпрограмма Tchar.h

_UNICODE и _MBCS не определены

_MBCS определено

_UNICODE определено

_tcsspnp

_strspnp

_mbsspnp

_wcsspnp

_strspnp и _wcsspnp являются версиями функции _mbsspnp для однобайтовых символов и расширенных символов. _strspnp и _wcsspnp ведут себя так же, как _mbsspnp иначе; они предназначены только для этого сопоставления и не должны использоваться для других целей. Дополнительные сведения см. в разделах Использование универсальных текстовых сопоставлений и Универсальные текстовые сопоставления.

_mbsspnp_lидентична, за исключением того, что она использует переданный параметр языкового стандарта. Для получения дополнительной информации см. Языковой стандарт.

Требования

Подпрограмма

Обязательный заголовок

_mbsspnp

<mbstring.h>

_strspnp

<tchar.h>

_wcsspnp

<tchar.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

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

Output

abbage

Эквивалент в .NET Framework

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Управление строками (CRT)

Языковой стандарт

Интерпретация последовательностей в многобайтной кодировке

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