strstr() функция языка Си. Нахождение подстроки в строке.

Ищет строку в строке. Находится в string.h.

char * strstr(const char * strB, const char * strA);
Аргументы:

strB – указатель на строку, в которой ведется поиск.

strA – указатель на искомую строку.
Возвращаемое значение:

NULL – если строка strA не входит в строку strB. Указатель на первое вхождение строки strA в строку strB.


#include <stdio.h>  // printf()
#include <string.h> // strstr()

int main(){
    const char * str = "Hi my dear friend!!!";  // Строка в которой будем искать
    const char * find_str = "my dear";          // Искомая строка
    char * res_ptr = strstr(str, find_str);     // Функция ищет строку, возвращает NULL или указатель найденной строки
    if(res_ptr){    // Если строка найдена (указатель не нулевой)
        int pos = res_ptr - str; // Определяем позицию найденной строки
        printf("find string in pos %d", pos);   //find string in pos 3
    }else{ // Строка не найдена
        printf("sting not found");
    }
}

2024-02-20



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

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

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