Sinn und Zweck von Funktionen ist es NICHT, sie ohne Parameter zu gebrauchen wie du es durchgehend machst!
C:void Changepw() { //Passwort des Users wird geändert char s1[255], s2[255], s3[255], *b = calloc(1, 100000); FILE* f = fopen("User.txt", "r"); while (fscanf(f, "%s%s%s", s1, s2, s3) == 3) { if (!strcmp(s2, userbuf.benutzername)) { while (1) { printf("Geben Sie bitte ein neues Passwort ein: "); fgets(userbuf.password, 255, stdin); userbuf.password[strlen(userbuf.password) - 1] = 0; if (pwok()) { break; } puts("Passwort entspricht nicht den Anforderungen!"); } strcpy(s3, userbuf.password); } strcat(b, s1); strcat(b, " "); strcat(b, s2); strcat(b, " "); strcat(b, s3); strcat(b, "\n"); } fclose(f); f = fopen("User.txt", "w"); fputs(b, f); fclose(f); free(b); }
Hey,
nochmal eine kurze Frage, das Ändern des Passwortes funktioniert zwar, aber jetzt funktioniert seit dem die Funktion drin ist nicht mehr die Überprüfung des Passwortes am Anfang heist wenn das Passwort mindestens 9 Zeichen lang sein soll und ich gebe z.B 8 Zeichen nur ein wird der user trotzdem Registriert. Und ebenfalls geht es mit dem anmelden nicht mehr richtig vielleicht einmal beim Start aber danach sagt das Programm immer Benutzername existiert nicht
Hast du da eine Idee woran das liegen könnte?
LG