Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Modicacion de archivos C

Estas en el tema de Modicacion de archivos C en el foro de C/C++ en Foros del Web. Hola!!bueno les cuento mi duda... quiero modificar un archivo, Lo que yo estoy haciendo es meter el dato a modificar en un temporal, pero no ...
  #1 (permalink)  
Antiguo 15/11/2011, 10:59
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 13 años
Puntos: 3
Modicacion de archivos C

Hola!!bueno les cuento mi duda... quiero modificar un archivo, Lo que yo estoy haciendo es meter el dato a modificar en un temporal, pero no se como hacer para remplazar ese dato al archivo original, bueno gracias de antemano
  #2 (permalink)  
Antiguo 15/11/2011, 11:39
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 13 años
Puntos: 3
Respuesta: Modicacion de archivos C

Cita:
//Abros los archivos
parchivo = fopen("archivo.txt", "r+b"); //Abro el archivo para modificar
//Temporal
parchivo1 = fopen("variante.txt", "wb");

//Ingreso las modificaciones
if(t.cod == buscar){
printf("Ingrse el codigo a modificar: \n");
scanf("%d", &(nuevo.cod));
while(getchar() != '\n');
printf("Ingrse el producto a modificar: \n");
gets(nuevo.prod);
printf("Ingrse el precio a modificar: \n");
scanf("%f", &(nuevo.precio));
while(getchar() != '\n');
}

fread(&t, sizeof(listaPrecios),1, parchivo);
while(!feof(parchivo)){
if(nuevo.cod == t.cod){
fread(&nuevo, sizeof(listaPrecios),1, parchivo);
fwrite(&nuevo, sizeof(listaPrecios),1, parchivo);
}
else{
fread(&nuevo, sizeof(listaPrecios),1, parchivo1);
fwrite(&nuevo, sizeof(listaPrecios),1, parchivo1);
}
}

fclose(parchivo);
fclose(parchivo1);

rename("archivo.txt", "variante.txt");
remove("archivo.txt");
  #3 (permalink)  
Antiguo 15/11/2011, 11:39
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 13 años
Puntos: 3
Respuesta: Modicacion de archivos C

ese es el código que tengo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:28.