aula 138

Procurando caracteres em uma String com as funções strchr() e strrchr()

A biblioteca string.h também já possui duas funções para procurar um caracter dentro de uma string, as funções strchr() e strrchr().

A função strchr ()retorna um ponteiro para a primeira ocorrência do caracter procurado ou NULL caso não encontre.

A função strrchr() retorna um ponteiro para a última ocorrência do caracter procurado ou NULL caso não encontre.

No trecho de código a seguir é apresentado um exemplo com as duas funções.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){

    char palavra[50] = {"abacate"};
    char *letra;

    // primeira ocorrência da letra a 
    letra = strchr(palavra, 'a');

    printf("\n%c\n", *letra); // imprime a letra a
    printf("\n%c\n", *(letra + 1)); // imprime a letra b
    printf("\n%c\n", *(letra + 2)); // imprime a segunda letra a

    letra = strrchr(palavra, 'a');

    printf("\n%c\n", *letra); // imprime a última letra a
    printf("\n%c\n", *(letra + 1)); // imprime a letra t
    printf("\n%c\n", *(letra + 2)); // imprime a letra e

    return 0;
}

Por enquanto não se preocupe com a operação letra + 1 e letra + 2 entre parênteses. Como as funções retornam um ponteiro, fizemos aí uma aritmética de ponteiros para imprimir os caracteres seguintes, confirmando que o retorno das funções estavam corretos. Mais a frente teremos um módulo apenas sobre ponteiros e aprenderemos em detalhes esta operação.


Deixe um comentário

5 × 3 =

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.