Hei pessoal, agradecido pela atenção, já descobri o bug. Mero erro nesta linha aqui: "while(TextInic != *pt)". Desculpem a precipitação.
Segue o código, agora corrigido:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
main()
{
char TextInic[1000], TextFin[1000], SubTextExcl[1000], SubTextIncl[1000];
char* pt;
int i, j;
while(1)
{
printf("\n\n Digite o texto ou 0 para sair: "); gets(TextInic); fflush(stdin);
if(strcmp(TextInic, "0") == 0)
break;
printf("\n Digite o subtexto a ser excluido: "); gets(SubTextExcl); fflush(stdin);
if(pt = strstr(TextInic, SubTextExcl))
{
printf("\n Digite o subtexto a ser incluido: "); gets(SubTextIncl); fflush(stdin);
i = 0;
while(&TextInic != pt)
{
TextFin = TextInic;
i++;
}
j = 0;
while(SubTextIncl[j])
TextFin[i++] = SubTextIncl[j++];
for(j = strlen(TextInic) + strlen(SubTextExcl) - strlen(pt); j <= strlen(TextInic); i++, j++)
TextFin = TextInic[j];
printf("\n\n O texto ficou assim: %s", TextFin);
}
else
printf("\n O subtexto a ser excluido nao esta contido no texto.\n");
}
printf("\n\nFIM DO PROGRAMA");
}
↧