Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/05/2013, 13:44
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Leer bloc de notas. URGEE :(

Tal como lo tienes solo funciona cuando el archivo contiene 1 o mas entradas; me explico siguiendo tu codigo linea por linea suponiendo que el archivo 'pacientes.txt' está vacio:

Código:
rd = fopen("pacientes.txt","a+");
Ahora tienes un puntero al archivo (si existe lo abre y si no existe lo crea y abre). El modo 'a+' te permite leer y escribir teniendo en cuenta que los punteros de lectura y escritura (RW) avanzan a la vez: esto significa que ahora tienes el RW en posicion 0 ok?

Código:
fprintf(rd, "9999 22 5 julio");
Escribes 15 bytes, ahora el RW esta en posicion 15.

Código:
fscanf(rd, "%d", &id1);
Supongo que ahora ya ves donde tienes el error no? El RW sigue estando en posicion 15, es decir que cualquier lectura esta en EOF. Puedes solucionarlo resituando el puntero de lectura al principio:

Código:
fseek(rd, 0L, SEEK_SET);
fscanf(rd, "%d", &id1);
Ya tienes el 9999 en 'id1'

Saludos
vosk