Spec-Zone.ru › C++

std::strchr

Определено в заголовке <cstring>
const char* strchr( const char* str, int ch );
      char* strchr(       char* str, int ch );

Находит первое вхождение символа static_cast<char>(ch) в строке байтов, на которую указывает str.

Завершающий нулевой символ рассматривается как часть строки и может быть найден, если ищется '\0'.

Параметры

str - указатель на завершающуюся нулём строку байтов для анализа
ch - символ, который нужно найти

Возвращаемое значение

Указатель на найденный символ в str, или нулевой указатель, если такой символ не найден.

Пример

#include <cstring>
#include <iostream>
 
int main()
{
    const char* str = "Try not. Do, or do not. There is no try.";
    char target = 'T';
    const char* result = str;
 
    while ((result = std::strchr(result, target)) != nullptr)
    {
        std::cout << "Found '" << target
                  << "' starting at '" << result << "'\n";
 
        // Increment result, otherwise we'll find target at the same location
        ++result;
    }
}

Вывод:

Found 'T' starting at 'Try not. Do, or do not. There is no try.'
Found 'T' starting at 'There is no try.'

См. также

memchr
ищет в массиве первое вхождение символа
(функция)
find
находит первое вхождение заданной подстроки
(публичный метод std::basic_string<CharT,Traits,Allocator>)
wcschr
находит первое вхождение широкого символа в широкой строке
(функция)
strrchr
находит последнее вхождение символа
(функция)
strpbrk
находит первое расположение любого символа из набора разделителей
(функция)
Документация C для strchr

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

Spec-Zone.ru

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