strupwd und struname werden doch überhaupt nicht aus dem gelesenen String readString extrahiert, aber anschließend verglichen und dann davon abhängig gemacht, ob authorized = true;

Das haut irgendwie hinten und vorne noch nicht hin.