Hallo,
ich habe eine Frage und zwar will ich mit einer fgets()-Funktion einen Text einlesen, nachdem ich zuvor schon getchar benutzt habe. Nun wird diese fgets() funktion übersprungen und ich weis nicht warum.
Könnte mir jemand damit helfen ?
Hier ist mein Code den ich bis jetzt programmiert habe:
Es handelt sich um das fgets in der Methode registrieren.
Ich bedanke mich schonmal für die Hilfe.
ich habe eine Frage und zwar will ich mit einer fgets()-Funktion einen Text einlesen, nachdem ich zuvor schon getchar benutzt habe. Nun wird diese fgets() funktion übersprungen und ich weis nicht warum.
Könnte mir jemand damit helfen ?
Hier ist mein Code den ich bis jetzt programmiert habe:
Es handelt sich um das fgets in der Methode registrieren.
C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXUSER 25
#define MAX 20
struct benutzer{
char benutzername[20];
char passwort;
int id;
}user;
char regestrieren(){
FILE * fp;
if((fp = fopen("Benutzer.txt","a")) != NULL){
printf("Benutzername: \n");
fgets(user.benutzername,20,stdin);
fprintf(fp,user.benutzername);
}
}
// neuer Nutzer anlegen
int passwort_check(){} // Passwort wird überprüft ob die Kriterien eingehalten werden
int passwort_abgleich(){} // Passwort wird mit den Standardpasswörtern abgeglichen (1 für Treffer und 0 für keinen Treffer zurückgeben)
void file_schreiben(){} // Benutzer wird in das File mit den Benutzern eingetragen
int anmelden(){} // Anmeldung von Nutzer
int main(){
char signin_or_registration;
printf("Fuer Anmelden y und fuer Registrieren n: \n");
signin_or_registration = getchar();
if(signin_or_registration == 'y'){
anmelden();
}if(signin_or_registration == 'n'){
regestrieren();
}if(signin_or_registration != 'n' && signin_or_registration != 'y'){
printf("Falsche Eingabe, bitte nur y wenn anmelden oder n wenn registrieren");
}
}
Zuletzt bearbeitet von einem Moderator: