Spec-Zone.ru › C++

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

См. также

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/byte/strpbrk

Spec-Zone.ru

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