strpbrk
Определено в заголовочном файле <string.h> | ||
|---|---|---|
char *strpbrk( const char *dest, const char *breakset ); | (1) | |
/*QChar*/ *strpbrk( /*QChar*/ *dest, const char *breakset ); | (2) | (начиная с C23) |
1 ) Выполняет поиск в строке байтов с завершающим нулевым символом, на которую указывает
dest, любого символа из строки байтов с завершающим нулевым символом, на которую указывает breakset, и возвращает указатель на этот символ.
2) Обобщённая по типу функция, эквивалентная (1). Пусть
T — тип объекта-символа без квалификаторов. - Если
destимеет тип constT*, возвращаемый тип — constchar*. - В противном случае, если
destимеет тип T*, возвращаемый тип — char*. - В противном случае поведение не определено.
(strpbrk) или указатель на функцию), становится видимым объявление фактической функции (1).Поведение не определено, если dest или breakset не является указателем на строку байтов с завершающим нулевым символом.
Параметры
| dest | - | указатель на строку байтов с завершающим нулевым символом, которую нужно проанализировать |
| breakset | - | указатель на строку байтов с завершающим нулевым символом, содержащую символы для поиска |
Возвращаемое значение
Указатель на первый символ в dest, который также присутствует в breakset, или нулевой указатель, если такого символа нет.
Примечания
Название расшифровывается как «string pointer break» («указатель на разделитель строки»), поскольку функция возвращает указатель на первый из символов-разделителей («break»).
Пример
#include <stdio.h>
#include <string.h>
int main(void)
{
const char* str = "hello world, friend of mine!";
const char* sep = " ,!";
unsigned int cnt = 0;
do
{
str = strpbrk(str, sep); // find separator
if(str) str += strspn(str, sep); // skip separator
++cnt; // increment word count
}
while(str && *str);
printf("There are %u words\n", cnt);
}
Вывод:
There are 5 words
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 7.24.5.4 Функция strpbrk (стр. TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.24.5.4 Функция strpbrk (стр. TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.24.5.4 Функция strpbrk (стр. 368)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.21.5.4 Функция strpbrk (стр. 331)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.11.5.4 Функция strpbrk
См. также
| возвращает длину максимального начального сегмента, состоящего только из символов, отсутствующих в другой строке байтов (функция) |
|
| находит первое вхождение символа (функция) |
|
|
(C11) | находит следующий токен в строке байтов (функция) |
Документация C++ для strpbrk |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/string/byte/strpbrk