Para buscarmos uma palavra ou sequência de caracteres dentro de uma string, podemos
utilizar a função strstr.
Sintaxe
char *strstr( const char *string1 , const char *string2);
Onde
string1: ponteiro para string onde a procura será feita.
string2: ponteiro para string que será procurada.
Retorno
Ponteiro para o primeiro caracteres, em string1 quando string2 encontrada.
NULL se string2 não for encontrada.
Exemplo 5
#include <stdio.h>
#include <string.h>
void main ()
{
char string1[] ="String em que vamos buscar isso";
char palavra[] = "isso";
char *substring = strstr(string1,palavra);
if (substring != NULL)
printf("O termo \"%s\" foi encontrado!",palavra);
else
printf("O termo \"%s\" não foi encontrado!",palavra);
}
Saída
O termo "isso" foi encontrado!
Para buscarmos a ocorrência de um ou mais caracteres dentro de uma string, podemos utilizar a função
strpbrk. Essa função irá buscar um ou mais caracteres e retornar um ponteiro para
a primeira ocorrência encontrada.
Sintaxe
const char *strpbrk( const char * string1, const char * string2);
Onde
string1: ponteiro para string onde a procura será feita.
string2: ponteiro para string contendo caracteres para busca.
Retorno
Ponteiro para a primeira ocorrência do caractere encontrado em string1.
NULL se nenhum caractere for encontrado.
Exemplo 6
#include <stdio.h>
#include <string.h>
void main ()
{
char string1[] = "Minha string ";
char caracteres[] = "axyz";
char *retorno = strpbrk (string1, caracteres);
if(retorno != NULL)
{
printf ("%c \n" , *retorno); //retorno em formato string
}
}
Saída
a