Hola quisiera saber como hacer para que en la modificación del segundo fichero no se me repita la ultima palabra.
Acá les dejo el código. (primero antes de correr el programa hay que crear un archivo llamado Texto.txt y poner un par de palabras ). El archivo modificado se guarda en la misma carpeta donde esta el código.
Mod: Obligatorio el uso de etiquetas GeSHi para códigos.
Acá les dejo el código. (primero antes de correr el programa hay que crear un archivo llamado Texto.txt y poner un par de palabras ). El archivo modificado se guarda en la misma carpeta donde esta el código.
Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
void archivar (char texto[20]);
void limpiar (void);
int main()
{
FILE * archivo;
char palabra[20];
char modifica[20];
char texto[20];
limpiar();
printf("Ingrese la palabra que va a cambiar en el fichero 'Texto': ");
fflush(stdin);
gets(palabra);
printf("¿Por que palabra la va a cambiar?: ");
fflush(stdin);
gets(modifica);
archivo = fopen("Texto.txt", "r+");
if (archivo == NULL){
printf("\nNO SE ENCONTRO EL ARCHIVO Texto.txt.\n\n");
}
else{
while (feof(archivo) == 0)
{
fscanf(archivo, "%s" ,&texto);
if(strcmp(texto,palabra)==0)
{
strcpy(texto,modifica);
}
archivar(texto);
}
fclose (archivo);
}
getch();
}
void archivar (char texto[20])
{
FILE * archivo1;
archivo1 = fopen("Modificado.txt", "a");
fputs(texto, archivo1);
fprintf(archivo1," ");
fclose(archivo1);
}
void limpiar (void)
{
FILE * archivo1;
archivo1 = fopen("Modificado.txt", "w+");
fclose(archivo1);
}
Mod: Obligatorio el uso de etiquetas GeSHi para códigos.