aula 139

Como encontrar uma substring com a função strstr() em C

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;
}


Deixe um comentário

dez − oito =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.