função para pedir senha
Este código é para criar uma função para pedir senha ao usuário. No código pode usar os '*', '●', ou qualquer caractere que queira mostrar na tela quando o usuário digitar a senha.
Descrição
Este código é para criar uma função para pedir senha ao usuário. No código pode usar os '*', '●', ou qualquer caractere que queira mostrar na tela quando o usuário digitar a senha.
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define BACKSPACE 8
char *le_senha(const char *prompt)
{
static char buffer[128];
int i=0;
char letra=NULL;
printf(prompt);
while((i<127)&&(letra!='\r'))
{
letra=getch();
if(letra==BACKSPACE)
{
if(i>0)
{
buffer[--i]=NULL; //apaga o * anterior
putchar(BACKSPACE);
putchar(' ');
putchar(BACKSPACE);
}
else
putchar(7); //emite um aviso sonoro
}
else if(letra!='\r')
{
buffer[i++]=letra;
putchar('*');
}
}
buffer[i]=NULL;
return(buffer);
}
main()
{
char *senha;
senha=getpass("Digite uma Senha: ");
if(strcmp(senha,"123")); //compara se o conteudo da variavel senha é igual a 123
printf("Senha Incorreta\n");
else
printf("Senha OK\n");
}
1º - main()
{
char *senha;
senha=getpass("Digite uma Senha: ");
na verdade senha=le_senha("Digite uma Senha: ");
2º - if(strcmp(senha,"123")); //compara se o conteudo da variavel senha é igual a 123
printf("Senha Incorreta\n");
depois do if não se põe ";" pq senão o else não terá função e sempre aparecerá Senha incorreta!