РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
182 of 815 menu

Функция strchr

Функция strchr ищет первое вхождение символа в C-строке (строке в стиле языка C, то есть массиве символов, завершающемся нулевым символом '\0'). В первый параметр мы передаем указатель на строку, в которой выполняется поиск, а во второй - искомый символ. Функция возвращает указатель на первое найденное вхождение символа в строке или нулевой указатель nullptr, если символ в строке отсутствует.

Функция объявлена в заголовочном файле <cstring>. Обратите внимание: функция ищет именно символ, а не подстроку. Также учитывается и завершающий нулевой символ строки.

Синтаксис

char* strchr(const char* str, int ch)

Пример

Давайте найдем первое вхождение символа 'c' в строке "abcde" и выведем остаток строки, начиная с найденного символа:

#include <iostream> #include <cstring> using namespace std; int main() { const char* str = "abcde"; const char* res = strchr(str, 'c'); if (res != nullptr) { cout << res << endl; } else { cout << "not found" << endl; } return 0; }

Результат выполнения кода:

"cde"

Пример

Давайте попробуем найти символ 'z', которого нет в строке "abcde". В этом случае функция вернет нулевой указатель:

#include <iostream> #include <cstring> using namespace std; int main() { const char* str = "abcde"; const char* res = strchr(str, 'z'); if (res != nullptr) { cout << res << endl; } else { cout << "not found" << endl; } return 0; }

Результат выполнения кода:

"not found"

Пример

С помощью функции strchr можно определить позицию символа в строке. Для этого нужно вычесть из найденного указателя указатель на начало строки:

#include <iostream> #include <cstring> using namespace std; int main() { const char* str = "abcde"; const char* res = strchr(str, 'd'); if (res != nullptr) { cout << res - str << endl; } else { cout << "not found" << endl; } return 0; }

Результат выполнения кода:

3

Смотрите также

  • функция strstr,
    которая ищет подстроку в строке
  • функция strlen,
    которая возвращает длину C-строки
  • функция strcmp,
    которая сравнивает две C-строки
  • метод find,
    который ищет символ или подстроку в объекте string
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить