strchr() функция языка Си. Поиск символа в строке.

Функция strchr() осуществляет поиск символ в строке и возвращает указатель на первый найденный символ, если не найден - NULL.


#include <string.h>
char *strchr(const char *str, char symbol);
char *ptr = strchr(str, ch); // Ищем символ ch в str и возвращаем на него указатель или NULL
Пример программы нахождения указателя на символ и вывода номера найденной позиции.

#include <stdio.h> // printf()
#include <string.h> // strchr()
int main(){
    char *str = "Hello my friend"; // Строка где будет искаться символ
    char ch = ' '; // Символ для поиска
    char *ptr = strchr(str, ch); // Ищем символ ch в str и возвращаем на него указатель или NULL
    if(ptr){ // Если символ найден (ptr != NULL)
        printf("Find symbol in position %I64u \n", ptr - str); // Выводим позицию где найден символ (от нуля). Учитываем что указатель имеет тип size_t (unsigned long long)
    }else{ // Символ не найден
        printf("Not found \n");
    }
}
Вывод программы:
Find symbol in position 5
2023-03-15



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

atof() функция языка Си. Преобразует строку во float.
atoi() функция языка Си. Преобразует строку в int.
atoll() функция языка Си. Преобразует строку в long long.
sprintf_s() функция языка Си. Преобразование типа в строку.
strcat() функция языка Си. Сложение (конкатенация) строк.
strchr() функция языка Си. Поиск символа в строке.
strcpy() функция языка Си. Копирование строки.
strdup() функция языка Си. Копирование строки с выделением памяти.
Строки в Си. Основные функции.
strlen() функция языка Си. Определение длины строки.
strncat() функция языка Си. Объединение двух строк с ограничением длины.
strncpy() функция языка Си. Копирование строки с ограничением длины.
strstr() функция языка Си. Нахождение подстроки в строке.
strtod() функция языка Си. Преобразование строки в double.