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/cpp/string/byte/strpbrk