Retirar ocorrências de uma substring dentro de uma string

Publicado por Danilo Renato da Silva (última atualização em 31/05/2012)

[ Hits: 10.653 ]

Homepage: http://widgetscomcafe.blogspot.com/ https://www.linkedin.com/in/danilorenatosilva

Download retira_ocorrencias.cpp




Este script demonstra uma função que retira as ocorrências de uma substring dentro de uma string.

  



Esconder código-fonte

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

char* retira_ocorrencias(char* str, char* substr)
{
   int i = 0; int j = 0; int f = 0;
   int tam = strlen(str);
   int tamsub = strlen(substr);
   char *ret = (char*) malloc(tam);
   
   while(i < tam)
   {
      while(str[i] == substr[j])
      {
         i++;
         j++;   
         
         if(j >= tamsub)
         {            
            break;
         }   
      } 

      if(j < tamsub)
      {
         i = i - j;         
      }
   
      ret[f] = str[i];      
      i++; f++;
      j = 0;

   }   

   ret[f] = '{FONTE}';

   return ret;

}

int main()
{
   char* str = (char*) malloc(100); 
   char* sub = (char*) malloc(100);

   printf("Entre com a string:    ");    gets(str);
   printf("Entre com a substring: ");    gets(sub);

   char* resultado = retira_ocorrencias(str, sub);
   printf("%s\n",resultado);
   return 0;
}

Scripts recomendados

Goldbach

Escrevendo Colorido no C

[C] Agenda - LDE

Método de Newton-Raphson

Mini-editor de texto intuitivo em ncurses


  

Comentários
[1] Comentário enviado por danilo_renato em 31/05/2012 - 13:30h

Onde está ret[f] = '{FONTE'} leia-se: ret[f] = '\{0}' (sem as chaves)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts