strspn
, wcsspn
, _mbsspn
, _mbsspn_l
Возвращает индекс первого символа в строке, которая не принадлежит указанному набору символов.
Важно!
Функции _mbsspn
и _mbsspn_l
не могут использоваться в приложениях, запускаемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
size_t strspn(
const char *str,
const char *strCharSet
);
size_t wcsspn(
const wchar_t *str,
const wchar_t *strCharSet
);
size_t _mbsspn(
const unsigned char *str,
const unsigned char *strCharSet
);
size_t _mbsspn_l(
const unsigned char *str,
const unsigned char *strCharSet,
_locale_t locale
);
Параметры
str
Строка для поиска, завершающаяся символом NULL.
strCharSet
Набор символов, завершающийся символом NULL.
locale
Используемый языковой стандарт.
Возвращаемое значение
Возвращает целочисленное значение, указывающее длину подстроки, str
которая состоит полностью из символов.strCharSet
Если str
начинается символ не в strCharSet
, функция возвращает значение 0.
Замечания
Функция strspn
возвращает индекс первого символа, str
который не принадлежит набору символов в strCharSet
. Поиск не включает конечные символы NULL.
Функции wcsspn
и _mbsspn
являются версиями функции strspn
для расширенных и многобайтовых символов. Аргументы wcsspn
являются строками расширенных символов. Аргументы _mbsspn
являются строками многобайтовых символов. Кроме того, функция _mbsspn
проверяет свои параметры. Если str
или strCharSet
есть NULL
, вызывается недопустимый обработчик параметров, как описано в разделе проверки параметров. Если выполнение может быть продолжено, параметр _mbspn
принимает значение errno
, а функция EINVAL
возвращает значение 0. strspn
и wcsspn
не проверяйте их параметры. В остальном эти три функции ведут себя идентично.
Выходное значение зависит от параметра LC_CTYPE
категории языкового стандарта. Дополнительные сведения см. в разделе setlocale
. Версии этих функций без суффикса _l
используют текущий языковой стандарт для данного поведения, зависимого от языкового стандарта. Версии с суффиксом _l
идентичны, однако они используют переданный параметр языкового стандарта. Дополнительные сведения см. в разделе Locale.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
Подпрограмма TCHAR.H | _UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_tcsspn |
strspn |
_mbsspn |
wcsspn |
Недоступно | Недоступно | _mbsspn_l |
Недоступно |
Требования
Маршрут | Обязательный заголовок |
---|---|
strspn |
<string.h> |
wcsspn |
<string.h> или <wchar.h> |
_mbsspn , _mbsspn_l |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_strspn.c
// This program uses strspn to determine
// the length of the segment in the string "cabbage"
// consisting of a's, b's, and c's. In other words,
// it finds the first non-abc letter.
//
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[] = "cabbage";
int result;
result = strspn( string, "abc" );
printf( "The portion of '%s' containing only a, b, or c "
"is %d bytes long\n", string, result );
}
The portion of 'cabbage' containing only a, b, or c is 5 bytes long
См. также
Обработка строк
Локаль
Интерпретация последовательностей многобайтовых символов
_strspnp
, _wcsspnp
, _mbsspnp
, _mbsspnp_l
strcspn
, wcscspn
, _mbscspn
, _mbscspn_l
strncat
, _strncat_l
, wcsncat
, _wcsncat_l
, _mbsncat
, _mbsncat_l
strncmp
, wcsncmp
, _mbsncmp
, _mbsncmp_l
strncpy
, _strncpy_l
, wcsncpy
, _wcsncpy_l
, _mbsncpy
, _mbsncpy_l
_strnicmp
, _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, _wcsnicmp_l
, _mbsnicmp_l
strrchr
, wcsrchr
, _mbsrchr
, _mbsrchr_l
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по