_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. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.
См. также
Ссылки
Интерпретация последовательностей в многобайтной кодировке
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