Asesoria
Buen día, mi pregunta es la siguiente, tengo que hacer un programa que lea 2 cadenas. La primera es el nombre de un archivo, en este caso "prueba.txt"
La segunda es una palabra que este dentro del archivo.
El programa debe de eliminar todas las ocurrencias de la palabra de la segunda cadena en el archivo.
Por ejemplo si es archivo contiene:
Anita lava la tina
Amor a Roma
Tres tristes triges
tragaban trigo
en un trigral
Dabale arroz a la zorra el Abad
Y si la palabra de la segunda cadena es "tr" el archivo quedaría así
Anita lava la tina
Amor a Roma
Tres istes iges
agaban igo
en un igral
Dabale arroz a la zorra el Abad
Este es mi programa, me muestra el contenido del archivo pero la 2a parte solo me escribe el texto que le agregue y lo hace al inicio, por ejemplo con el texto de arriba si es la 2a cadena escribo "tr" me pone "trita lava la tina....
Podrías decirme que esta mal o que le falta? Gracias.
Mi mail es gracias y saludos
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *archivo;
char caracter;
archivo = fopen("prueba.txt","r+");
if (archivo == NULL)
{
printf("\nError de apertura no se encuentra el archivo. \n\n");
}
else
{
printf("\nEl contenido del archivo de prueba es \n\n");
while (feof(archivo) == 0)
{
caracter = fgetc(archivo);
printf("%c",caracter);
}
FILE *fp;
char caracter;
fp = fopen ( "prueba.txt", "r+" );
printf("\nIntrouce la cadena a eliminar: ");
while((caracter = getchar()) != '\n')
{
printf("%c", fputc(caracter, fp));
}
fclose ( fp );
}
system("pause");
}
La segunda es una palabra que este dentro del archivo.
El programa debe de eliminar todas las ocurrencias de la palabra de la segunda cadena en el archivo.
Por ejemplo si es archivo contiene:
Anita lava la tina
Amor a Roma
Tres tristes triges
tragaban trigo
en un trigral
Dabale arroz a la zorra el Abad
Y si la palabra de la segunda cadena es "tr" el archivo quedaría así
Anita lava la tina
Amor a Roma
Tres istes iges
agaban igo
en un igral
Dabale arroz a la zorra el Abad
Este es mi programa, me muestra el contenido del archivo pero la 2a parte solo me escribe el texto que le agregue y lo hace al inicio, por ejemplo con el texto de arriba si es la 2a cadena escribo "tr" me pone "trita lava la tina....
Podrías decirme que esta mal o que le falta? Gracias.
Mi mail es gracias y saludos
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *archivo;
char caracter;
archivo = fopen("prueba.txt","r+");
if (archivo == NULL)
{
printf("\nError de apertura no se encuentra el archivo. \n\n");
}
else
{
printf("\nEl contenido del archivo de prueba es \n\n");
while (feof(archivo) == 0)
{
caracter = fgetc(archivo);
printf("%c",caracter);
}
FILE *fp;
char caracter;
fp = fopen ( "prueba.txt", "r+" );
printf("\nIntrouce la cadena a eliminar: ");
while((caracter = getchar()) != '\n')
{
printf("%c", fputc(caracter, fp));
}
fclose ( fp );
}
system("pause");
}
4 Respuestas
Respuesta de novatoog
-1
Respuesta de aprendiz33
-1
Respuesta de jorivelme
-1
Respuesta de Acade Mia Cartagena
-1