000
23.11.2009, 21:00 Uhr
minus
|
nabend,
Problem ist, das C Programm erkennt nicht das Richtige Passwort.
C++: |
/* bspl0040.c */ #include <stdio.h> #include <string.h>
main() { char geheim[10],passwort[80]; int versuch=3; geheim[3]='p'; geheim[2]=109; geheim[7]=114; geheim[5]=116; geheim[0]=67; geheim[9]='x'; geheim[1]=111; geheim[8]='\0'; geheim[4]=geheim[1]+6; geheim[6]=101; printf("\nSie haben 3 Versuche.\n"); do { printf("\nBitte Passwort eingeben.\n>"); fgets(passwort,80,stdin); if(strcmp(geheim,passwort) == 0) { printf("\nPasswort ok!\n"); break; } else printf("\nFehlerhaftes Passwort! \n\a"); versuch--; } while(versuch > 0); }
|
musste die Zeile
C++: |
fgets(passwort,80,stdin);
|
abändern, hieß vorher
.
aber der Compiler meldet sich bei gets wegen Buffer overflow, Vermute das der Fehler bei fgets liegt oder ?
mfg minus
btw.: nutze das Passwort " Computer" . Dieser Post wurde am 23.11.2009 um 21:01 Uhr von minus editiert. |