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, или нулевой указатель, если такой символ не найден.
Примечания
Имя означает "указатель на строку разрыва", так как оно возвращает указатель на первый символ-разделитель.
Пример
#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); // find separator
std::cout << std::quoted(str) << '\n';
if (str)
str += std::strspn(str, sep); // skip separator
++cnt; // increment word count
} 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 |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/byte/strpbrk