Além de procurar por caracteres, a biblioteca string.h também possui uma função para procurar por uma substring dentro de uma string, a função strstr().
Esta função também retorna um ponteiro para o início da substring, caso encontre, ou NULL caso contrário.
Não se preocupe a a aritmética de ponteiros feita no exemplo a seguir para imprimir o caracter apontado pelo ponteiro retornado pela função e os dois caracteres seguintes. Mais a frente teremos um módulo sobre ponteiros e aprenderemos esse conteúdo em detalhes.
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ char palavra[50] = {"Bom dia simpatia!"}; char str[] = {"dia"}; char *ponteiro; // procura pela string str dentro da string palavra ponteiro = strstr(palavra, str); // se ponteiro for diferente de null, imprime 3 caracteres (dia) if(ponteiro) printf("\n%c%c%c\n", *ponteiro, *(ponteiro+1), *(ponteiro+2)); else printf("\nPonteiro nulo.\n"); return 0; }