Ich habe eine Frage bezüglich Programmierung und Dateien.C Programmierung - Datei - fwrite
while(current!=NULL)
{
if(current->Id_Doctor!='\0')
{
current=current->next;
id_doc=(current->Id_Doctor);
}
if(current->Id_Doctor=='\0')
{
id_doc=id_doc+1;
printf("%d", id_doc);
break;
}
}
fwrite(&id_doc, sizeof(char), 1, Archivo);
Ich weiß nicht, warum, aber es aint den Wert id_doc auf der Binärdatei zu schreiben ‚Archivo‘ genannt ..., was das Problem sein könnte? Ich habe eine printf von id_doc und der Wert wurde printed..I weiß wirklich nicht,
Ok, here der vollständige Code (mehr-weniger):
struct Medico
{
int Id_Doctor;
int Estado;
char Nombre[60];
char Clave_Acceso[20];
char Especialidad[40];
struct Medico *next;
};
void Dar_Alta_Med (int estado);
void MenuPrincipal(char enta);
int main(void)
{
char enta;
MenuPrincipal(enta);
}
void Dar_Alta_Med(int estado)
{
struct Medico * head = NULL;
struct Medico * prev, *current;
char nombre_doc[60], especialida[40], password[20];
int id_doc=0, estado_doc=1;
FILE *Archivo;
const char *md1="\n<md>\n";
const char *id_doc1="<id_doctor> ";
Archivo=fopen("md.dat", "ab+");
fwrite(md1, 1, strlen(md1), Archivo);
fwrite(id_doc1, 1, strlen(id_doc1), Archivo);
current = (struct Medico *) malloc (sizeof(struct Medico));
current->Id_Doctor=id_doc;
while(current!=NULL)
{
if(current->Id_Doctor!='\0')
{
current=current->next;
id_doc=(current->Id_Doctor);
}
else
{
id_doc=id_doc+1;
printf("%d", id_doc);
break;
}
}
fwrite(&id_doc, sizeof(id_doc), 1, Archivo);
printf("Ingresa el nombre del Doctor a dar de alta: ");
fclose(Archivo);
}
Im hier zu sterben, bitte helfen:/
Wo ist die Erklärung von 'id_doc'? –
Dies scheint eine ungeschickte Möglichkeit zu sein, den maximalen Wert von id_doctor aus einer verknüpften Liste zu finden ...? –
Welcher Modus als 'Archivo' geöffnet in aka war es richtig für ** binäre ** Schrift geöffnet? – Necrolis