Você está aqui: C ::: Dicas & Truques ::: Strings e Caracteres |
Verificando se uma substring está contida no final de uma string (sua própria função ends_with())Quantidade de visualizações: 8040 vezes |
Em algumas situações precisamos verificar se uma string termina com uma determinada substring em C. O código abaixo mostra como isso pode ser feito. Como sugestão você pode modificar o código para que esta verificação possa também ser feita desconsiderando maiúsculas e minúsculas. Veja a listagem:#include <stdio.h> #include <stdlib.h> #include <string.h> // função personalizada que permite verificar se // uma string termina com uma determinada substring int ends_with(const char *str, const char *sufixo){ // vamos obter a diferença de tamanho entre as duas // strings int dif = strlen(str) - strlen(sufixo); // vamos adiantar o ponteiro da string até ficarmos // na mesma posição da substring fornecida int i; for(i = 0; i < dif; i++) str++; // agora vamos comparar o final da string com a // substring fornecida if(strcmp(str, sufixo) == 0) // sucesso return 1; else return 0; // não termina com o sufixo fornecido } int main(int argc, char *argv[]){ char frase[] = "Gosto muito de C++"; // vamos verificar se frase termina com "C++" if(ends_with(frase, "C++")) printf("A string termina com a substring indicada"); else printf("A string NAO termina com a substring indicada"); puts("\n\n"); system("PAUSE"); return 0; } |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |