std:: strpbrk
|
Определено в заголовке
<cstring>
|
||
|
const
char
*
strpbrk
(
const
char
*
dest,
const
char
*
breakset
)
;
|
||
|
char
*
strpbrk
(
char
*
dest,
const
char
*
breakset
)
;
|
||
Сканирует байтовую строку с завершающим нулём, на которую указывает dest , на наличие любого символа из байтовой строки с завершающим нулём, на которую указывает breakset , и возвращает указатель на этот символ.
Содержание |
Параметры
| dest | - | указатель на анализируемую байтовую строку с нулевым завершением |
| breakset | - | указатель на байтовую строку с нулевым завершением, содержащую символы для поиска |
Возвращаемое значение
Указатель на первый символ в dest , который также присутствует в breakset , или нулевой указатель, если такого символа не существует.
Примечания
Название расшифровывается как "string pointer break" (указатель разрыва строки), поскольку функция возвращает указатель на первый из символов-разделителей ("break").
Пример
#include <cstring> #include <iomanip> #include <iostream> int main() { const char* str = "hello world, friend of mine!"; const char* sep = " ,!"; unsigned int cnt = 0; do { str = std::strpbrk(str, sep); // найти разделитель std::cout << std::quoted(str) << '\n'; if (str) str += std::strspn(str, sep); // пропустить разделитель ++cnt; // увеличить счетчик слов } while (str && *str); std::cout << "There are " << cnt << " words\n"; }
Вывод:
" world, friend of mine!" ", friend of mine!" " of mine!" " mine!" "!" There are 5 words
Смотрите также
|
возвращает длину максимального начального сегмента, состоящего
только из символов, не найденных в другой байтовой строке (функция) |
|
|
находит следующий токен в байтовой строке
(функция) |
|
|
находит первое вхождение символа
(функция) |
|
|
находит первое вхождение любого широкого символа из одной широкой строки в другой широкой строке
(функция) |
|
|
Документация C
для
strpbrk
|
|