Пространства имён
Варианты
Действия

std::strpbrk

Материал из cppreference.com
< cpp‎ | string‎ | byte
 
 
 
Однобайтовые строки с завершающим нулём
Функции
Манипуляции с символами
Преобразование в числовые форматы
Манипуляции со строками
Проверка строки
Манипуляции с памятью
Разное
 
Определено в заголовочном файле <cstring>
constchar* strpbrk(constchar* dest, constchar* breakset );
      char* strpbrk(       char* dest, constchar* breakset );

Сканирует строку байтов с нулевым завершающим символом, на которую указывает dest, на предмет любого символа из строки байтов с нулевым завершающим символом, на которую указывает breakset, и возвращает указатель на этот символ.

Содержание

[править]Параметры

dest указатель на строку байтов с нулевым завершающим символом, подлежащую анализу
breakset указатель на строку байтов с нулевым завершающим символом, содержащую искомые символы

[править]Возвращаемое значение

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

[править]Примечание

Название означает "string pointer break - указатель на разрыв строки", поскольку она возвращает указатель на первый символ-разделитель ("разрыв").

[править]Пример

#include <cstring>#include <iomanip>#include <iostream>   int main(){constchar* str ="hello world, friend of mine!";constchar* sep =" ,!";   unsignedint 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<<"Есть "<< cnt <<" слов\n";}

Вывод:

" world, friend of mine!" ", friend of mine!" " of mine!" " mine!" "!" Есть 5 слов

[править]Смотрите также

возвращает длину максимального начального сегмента, который состоит
только из символов, не найденных в другой строке байтов
(функция)[править]
находит следующий маркер в строке байтов
(функция)[править]
находит первое вхождение символа
(функция)[править]
находит первое местоположение любого широкого символа из одной широкой строки, в другой широкой строке
(функция)[править]
close