Hi Leute,
ich hab in C ein Programm geschrieben,das mit getch() in einer while ein Passwort abfragt.Nach jedem Durchlauf wird die Eingabe in einem Array gespeichert.Dann wird der Array mit einem anderen Array,der bereits das Passwort enthält mit memcmp verglichen.Das Problem ist,das getch() einen int-Wert zurückgibt und das geschpeicherte Passwort in einem char-Array gespeichert ist.
Hoffe könnt mir helfen.
ich hab in C ein Programm geschrieben,das mit getch() in einer while ein Passwort abfragt.Nach jedem Durchlauf wird die Eingabe in einem Array gespeichert.Dann wird der Array mit einem anderen Array,der bereits das Passwort enthält mit memcmp verglichen.Das Problem ist,das getch() einen int-Wert zurückgibt und das geschpeicherte Passwort in einem char-Array gespeichert ist.
Code:
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main()
{
int c; // getch-Variable
int counter = 0; // Zähler
int Input[50]; // Array um Eingaben zu speichern
int index = 0; // Index-Zähler für Array
char password[] = "password"; // Passwort
int ret_mem; // Rückgabewert von memcmp
printf("Pass:");
while(counter != 20) // maximale Eingabe von 20 Zeichen
{
c=getch(); // Eingabe an c
Input[index] = c; // c in Input speichern
if(c == 13) // wenn Enter (13) gedrückt wird
{
ret_mem = memcmp(Input,password,sizeof(Input)); // int-char Vergleichen PROBLEM
if(ret_mem == 0)
{
printf("\nCorrect Password\n");
return 0;
}
else
{
printf("\nWrong Password\n");
return 0;
}
}
putchar('*'); // '*' für jedes eingegebene Zeichen ausgeben
counter++; // counter um 1 erhöhen
index++; // Index um 1 erhöhen
}
return 0;
}
Hoffe könnt mir helfen.