Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/02/2012, 12:37
cesar_casla
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 meses
Puntos: 94
Respuesta: Problema creando agenda con ficheros

hola DickGumshoe! el problema esta en el scanf de la linea 59, al introducir la opcion se ingrese un numero seguido del enter, el cual queda almacenado en un bufer que luego es tomado por fgets. Pone getchar(); despues de la linea 59

Otra cosa: no entiendo xq haces
Código C:
Ver original
  1. while(! feof(fichero)) //Leemos los datos que contiene al principio
  2.     {
  3.       fgets(lineas,25,fichero);
  4.     }
segun el comentario lees los datos que tenes al principio hasta que sea EOF. Luego almacenas en posicion el valor devuelto por ftell, pero el valor devuelto de ftell va a ser el final del archivo.
Luego con:
Código C:
Ver original
  1. fseek(fichero,0,SEEK_END);
volves a posicionar el cursor en el final del archivo y volves a almacenar el valor devuelto por ftell en tamano el cual va a tener el mismo valor que posicion

Otra cosa que no entiendo es:
Código C:
Ver original
  1. i = tamano / sizeof(datos);
¿para que es esta division?
esta division va a dar 0(cero) siempre y cuando tamano no sea mas grande que sizeof(datos). Acordate que datos[100] es un arreglo de estructuras donde cada posicion del arreglo tiene un tamaño igual a la estructura

Saludos