Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает указатель на первый символ в заданной строке, которая не указана в другой заданной строке.
Внимание
Функции _mbsspnp и _mbsspnp_l не могут использоваться в приложениях, запускаемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
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
Строка для поиска, завершающаяся символом NULL.
charset
Набор символов, завершающийся символом NULL.
locale
Используемый языковой стандарт.
Возвращаемое значение
_strspnp, _wcsspnpи _mbsspnp возвращает указатель на первый символ, str который не принадлежит набору символов в charset. Каждая из этих функций возвращаетсяNULL, если str состоит полностью из символов.charset Для каждой из этих подпрограмм отсутствуют зарезервированные возвращаемые значения для указания ошибки.
Замечания
Функция _mbsspnp возвращает указатель на многобайтовый символ, который является первым символом, str который не принадлежит набору символов в charset. Функция _mbsspnp распознает последовательности многобайтовых символов в соответствии с текущей используемой многобайтовой кодовой страницей. Поиск не включает конечные символы NULL.
Если какой-либо str или charset является пустым указателем, эта функция вызывает обработчик недопустимых параметров, как описано в разделе "Проверка параметров". Если выполнение может быть продолжено, функция возвращает NULL и устанавливает для параметра errno значение EINVAL.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
| Подпрограмма Tchar.h | _UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
|---|---|---|---|
_tcsspnp |
_strspnp |
_mbsspnp |
_wcsspnp |
_strspnp и _wcsspnp — версии _mbsspnp с однобайтовыми или расширенными символами. _strspnp и _wcsspnp ведет себя аналогично _mbsspnp иначе; они предоставляются только для этого сопоставления и не должны использоваться по какой-либо другой причине. Дополнительные сведения см. в разделе "Использование универсальных текстовых сопоставлений и универсальных текстовых сопоставлений".
_mbsspnp_l идентична указанной за исключением того, что использует языковой стандарт, переданный в качестве параметра. Дополнительные сведения см. в разделе Locale.
Требования
| Маршрут | Обязательный заголовок |
|---|---|
_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);
}
Выходные данные
abbage
См. также
Обработка строк
Локаль
Интерпретация последовательностей многобайтовых символов
strspn, , wcsspn_mbsspn_mbsspn_l
strncat_s, , _strncat_s_l_wcsncat_s_lwcsncat_s_mbsncat_s,_mbsncat_s_l
strncmp, , wcsncmp_mbsncmp_mbsncmp_l
strncpy_s, , _strncpy_s_l_wcsncpy_s_lwcsncpy_s_mbsncpy_s,_mbsncpy_s_l
_strnicmp, , _wcsnicmp_strnicmp_l_mbsnicmp_wcsnicmp_l,_mbsnicmp_l
strrchr, , wcsrchr_mbsrchr_mbsrchr_l