Hola Amigos
tengo un problema con un archivo que maneja cadena de caracteres como campos, en realidad no se que puede ser pero no me graba ciertos datos. por ejemplo, tengo la siguiente rutina:
// procedimiento de ingreso de datos //
void ingresar()
{
FILE *fi;
char rut[10];
char nombre[30];
char sexo[9];
char fnac[10];
char fing[10];
char nivel[1];
int sala;
int nrocama;
int sw,sex,niv;
int op;
clrscr();
if ((fi=fopen("a:Paciente.dat","a")) == NULL)
{
clrscr();
printf("El archivo no existe ");
exit(0);
}
op=0;
while (op!=9)
{
clrscr();
gotoxy (20,5);printf ("Rut : ");
gotoxy (20,6);printf ("Nombre : ");
gotoxy (20,7);printf ("Sexo (1=Masculino) (2=femenino) : ");
gotoxy (20,8);printf ("Fecha Nacimiento : ");
gotoxy (20,9);printf ("Fecha Ingreso a hospital : ");
gotoxy (20,10);printf("Nro. nivel (1=A 2=B 3=C 4=D) : ");
gotoxy (20,11);printf("Nro. de Sala (1 - 10) : ");
gotoxy (20,12);printf("Nro. de cama (1 - 5) : ");
gotoxy (55,5);scanf("%s",rut);
gotoxy (55,6);scanf("%s",nombre);
gotoxy (55,7);scanf("%d",&sex);
if (sex==1)
strcpy(sexo,"masculino");
else
if (sex==2)
strcpy(sexo,"femenino ");
gotoxy (55,8);scanf("%s",fnac);
gotoxy (55,9);scanf("%s",fing);
gotoxy (55,10);scanf("%d",&niv);
if (niv==1)
strcpy(nivel,"A");
else
if (niv==2)
strcpy(nivel,"B");
else
if (niv==3)
strcpy(nivel,"C");
else
if (niv==4)
strcpy(nivel,"D");
gotoxy (55,11);scanf("%d",&sala);
gotoxy (55,12);scanf("%d",&nrocama);
fflush(stdin);
fprintf(fi,"%s %s %s %s %s %s %d %d",rut, nombre, sexo, fnac, fing, nivel, sala, nrocama);
gotoxy(20,20);printf("ENTER (continua) - 9 (Finaliza)");
gotoxy(52,20);scanf("%d",&op);
}
fclose(fi);
}
pero no me graba los datos de la fecha de ingreso (fing), tampoco el (sexo, nivel),
podria alguien ayudarme porfavor,
si tienen algun ejemplo de manejo de cadenas en c, y archivo. me podrian enviar a mi correo:
rovas2001@vtr.net.
de ante mano muchas gracias