strspn, wcsspn, _mbsspn, _mbsspn_l
Возвращает индекс первого символа в строке, который не принадлежит набору символов.
Важно!
_mbsspn и _mbsspn_l невозможно использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.
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
Строка, заканчивающаяся нулевым символом, в которой будет производиться поиск.strCharSet
Набор символов, завершающийся символом NULL.locale
Языковой стандарт, который необходимо использовать.
Возвращаемое значение
Возвращает целочисленное значение, содержащее длину подстроки в str, состоящей полностью из символов strCharSet*.* Если str начинается с символа, не содержащегося в strCharSet*,* функция возвращает 0.
Заметки
Функция strspn возвращает индекс первого символа в str, который не входит в набор символов strCharSet. Поиск не распространяется на завершающий нулевой символ.
wcsspn и _mbsspn являются версиями функции strspn для расширенных и многобайтовых символов**.** Аргументы wcsspn представляют собой расширенные строки; аргументы _mbsspn представляют собой многобайтовые строки. _mbsspn проверяет свои параметры. Если параметр str или strCharSet имеет значениеNULL, вызывается обработчик недопустимых параметров, как описано в разделе Проверка параметров . Если выполнение может быть продолжено, то _mbspn устанавливает errno в EINVAL и возвращает 0. strspn и wcsspn не проверяют свои параметры. В остальных случаях эти три функции ведут себя идентично.
Выходное значение зависит от настройки категории LC_CTYPE языкового стандарта; дополнительные сведения см. в разделе setlocale. Версии этих функций без суффикса _l используют текущий языковой стандарт для данной функциональности, зависящей от языкового стандарта; версии с суффиксом _l идентичны, за исключением того, что они используют переданный параметр языкового стандарта. Для получения дополнительной информации см. Языковой стандарт.
Универсальное текстовое сопоставление функций
Подпрограмма 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 );
}
Эквивалент в .NET Framework
См. также
Ссылки
Интерпретация последовательностей в многобайтной кодировке
_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