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

Spec-Zone.ru

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