Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/02/2008, 10:22
Mr_Pop
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Ayuda para sobreescribir archivos

Necesito sobreescribir un archivo en C y lo unico que consigo es que me reescriba la salida que deseo al final de lo que ya tenia escrito.
Mi programa es el siguiente:

printf("\nIntroduzca la posicion del experimento que desea eliminar: ");
scanf("%d",&pos_borrar);
for(i=pos_borrar-1;i<filas;i++)
for(j=0;j<19;j++)
matriz[i][j]=matriz[i+1][j];
filas=filas-1;
posicion=ftell(datos);
fseek(datos,posicion,SEEK_SET);
for(i=0;i<filas;i++)
for(j=0;j<19;j++){
fwrite(&matriz[i][j],sizeof(matriz[i][j]),1,datos);
}
fclose(datos);
break;


Utilizo el fseek para mandarlo al principio del archivo y supuestamente el fwrite deberia escribir desde la posicion en la que me encuentro, pero no entiendo el porque escribe desde la ultima posicion.

Gracias.