![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Holas foreros!
Estoy trabajando con archivos binarios. olicia:Uno de los requermientos que tengo, es modificar un registro, por ejemplo, cambiandole la ubicacion (coordenadas x e y). Para esto, recorro el archivo y al encontrar el registro que deseo modificar, ubico (fseek) el apuntador del archivo una posicion antes, y escribo el nuevo registro. El problema basicamente es que no escribe los cambios en el archivo. He hecho corridas por trazas aproximadamente unas mil veces :'( y hace todo como si lo estuviera escribiendo, pero al confirmarlo en otra funcion, veo que no lo hace. Espero entonces puedan revisar el codigo a continuacion, a ver si encuentran algun error.. paranormal! Código:
//MODIFICAR: modifica una estacion
void estaciones::modificar(struct_estacion esta_actual)
{
//abro archivo binario "ORIGINAL"
FILE *ap_b=NULL;
ap_b=fopen("estacion_b.dat","rb");
if (ap_b!=NULL)
{
struct_estacion tmp;
int xx, num_reg, cont;
fseek(ap_b,0,SEEK_END);
xx=ftell(ap_b);
num_reg=xx/(sizeof(struct_estacion));
//leer del archivo y comparar
for (cont=0;cont<=num_reg;cont++)
{
fseek(ap_b,cont*sizeof(struct_estacion),SEEK_SET);
fread(&tmp,sizeof(struct_estacion),1,ap_b);
int comparacion_cad;
comparacion_cad=strcmp(tmp.nombre,esta_actual.nombre);
//si tiene el mismo nombre
if (comparacion_cad==0)
{
fseek(ap_b,(-1)*sizeof(struct_estacion),SEEK_CUR);
fwrite(&esta_actual,sizeof(struct_estacion),1,ap_b);
fclose(ap_b);
break;
}
}
fclose(ap_b);
}
};
Esperando su respuesta! :-) Gracias de antemano :-) |
|
#2
|
|||
|
|||
|
Hace mucho que no trabajo con archivos binarios, pero tienes esta linea
Cita:
Espero haber servido de ayuda. Saludos y suerte! |
|
#3
|
|||
|
|||
|
Dioooooooossss!! que horrorrrr!!
![]() Era eso... ![]() ![]() ![]() ![]() ![]() ![]() |
|
#4
|
|||
|
|||
|
Me da gusto haberte podido ayudar!
Cualquier otra cosa, ya sabes, por aquí estamos. Saludos y suerte! |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Bloquear registro en fichero binario | jonmendi | API de Windows | 3 | 13-11-2007 17:16:31 |
| Cargar array of char de un archivo binario | JosepZ | Varios | 9 | 12-11-2007 23:28:16 |
| Modificar registro | Elite237 | OOP | 4 | 03-08-2007 04:27:21 |
| Registro con valor BINARIO !!! | Ledian_Fdez | Varios | 1 | 07-06-2007 00:25:58 |
| modificar olo un registro | Irina | SQL | 1 | 26-05-2003 13:41:59 |
|