projprog/MEMCHECK.3.c

43 lines
928 B
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ()
{
int continuer = 1;
// message secret protégé par mot de passe
char *texte = (char*) malloc((1000+1) * sizeof(char));
memset(texte, 'a', 1000);
texte[1000] = '\0';
char mdp[100];
while (continuer) {
printf("Récupération du message\nEntrez le mot de passe : ");
scanf("%99s", mdp);
if (strcmp(mdp, "1234")) {
printf("Mot de passe invalide\nRéessayer (0/1) ? ");
scanf("%d", &continuer);
if (!continuer){
memset(texte, '\0', 1000);
free(texte);
return EXIT_FAILURE;
}
} else {
printf("Mot de passe correct, le message secret est : %s\n", texte);
printf("Continuer (0/1) ? ");
scanf("%d", &continuer);
if (!continuer)
break;
}
}
// on efface le message secret de la mémoire
memset(texte, '\0', 1000);
free(texte);
return EXIT_SUCCESS;
}