Spec-Zone.ru › C

wcspbrk

Определено в заголовке <wchar.h>
wchar_t *wcspbrk( const wchar_t *dest, const wchar_t *str );
(1) (с C95)
/*QWchar_t*/ *wcspbrk( /*QWchar_t*/ *dest, const wchar_t *str );
(2) (с C23)
1) Находит первый символ в широкой строке, на которую указывает dest, который также содержится в широкой строке, на которую указывает str.
2) Функция с типом-обобщением, эквивалентная (1). Пусть T — тип объекта неквалифицированного широкого символа.
  • Если dest является типа const T*, тип возвращаемого значения — const wchar_t*.
  • В противном случае, если dest является типа T*, тип возвращаемого значения — wchar_t*.
  • В противном случае поведение не определено.
Если определение макроса каждой из этих обобщённых функций подавлено для доступа к фактической функции (например, если используется (wcspbrk) или указатель на функцию), становится доступно фактическое объявление функции (1).

Параметры

dest - указатель на завершаемую нулём широкую строку, которая анализируется
src - указатель на завершаемую нулём широкую строку, содержащую символы для поиска

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

Указатель на первый символ в dest, который также содержится в str, или нулевой указатель, если такого символа не существует.

Примечания

Имя обозначает «указатель на широкую строку символов, разрыв», потому что он возвращает указатель на первый из символов-разделителей.

Пример

#include <stdio.h>
#include <wchar.h>
 
int main(void)
{
    const wchar_t* str = L"Hello world, friend of mine!";
    const wchar_t* sep = L" ,!";
 
    unsigned int cnt = 0;
    do {
       str = wcspbrk(str, sep); // find separator
       if (str) str += wcsspn(str, sep); // skip separator
       ++cnt; // increment word count
    } while (str && *str);
 
    wprintf(L"There are %u words.\n", cnt);
}

Вывод:

There are 5 words.

Ссылки

  • Стандарт C11 (ISO/IEC 9899:2011):
    • 7.29.4.5.3 Функция wcspbrk (с. 436)
  • Стандарт C99 (ISO/IEC 9899:1999):
    • 7.24.4.5.3 Функция wcspbrk (с. 382)

См. также

wcscspn
(C95)
возвращает длину максимального начального сегмента, который состоит
только из широких символов, не найденных в другой широкой строке
(функция)
wcschr
(C95)
находит первое вхождение широкого символа в широкой строке
(функция)
strpbrk
находит первое местоположение любого символа в одной строке, в другой строке
(функция)
Документация C++ для wcspbrk

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/string/wide/wcspbrk

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API