• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

JoaoPCarvalho

password

5 mensagens neste tópico

Boa Tarde

Pretendo que quando escrever a password apareçam *, pensava que com o _putch("*") davas, mas afinal não dá estou a prgramar no windows no Visual C 2005

Alguem me pode ajudar

obrigado

ainda vou criar um ficheiro com passwords para depois ele ir lá verificar se existe

Obrigado

#include <stdio.h> 
#include <conio.h> 

int main() 
{ 
int i=0; 
char ch = 0;
char utilizador[30]; 
char palavra_pass[30]=""; 
printf("\nLOGIN"); 
printf("\n\nUtilizador: "); 
fgets(utilizador,30,stdin); 
printf("\nPalavra Pass: "); 

while ((ch != '\r')) 
{ 
ch = _getch(); 
_putch("*"); 
palavra_pass[i] = ch; 
i++; 
} 
getchar(); 
getchar(); 
} 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa Tarde

Pretendo que quando escrever a password apareçam *, pensava que com o _putch("*") davas, mas afinal não dá estou a prgramar no windows no Visual C 2005

Alguem me pode ajudar

obrigado

ainda vou criar um ficheiro com passwords para depois ele ir lá verificar se existe

Obrigado

#include <stdio.h>

#include <conio.h>

int main()

{

int i=0;

char ch = 0;

char utilizador[30];

char palavra_pass[30]="";

printf("\nLOGIN");

printf("\n\nUtilizador: ");

fgets(utilizador,30,stdin);

printf("\nPalavra Pass: ");

while ((ch != '\r'))

{

ch = _getch();

_putch("*");

palavra_pass = ch;

i++;

}

getchar();

getchar();

}

por acaso tb curtia saber isso...

Uma altura tentei, mas acabei por desistir, não era importante :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

por acaso tb curtia saber isso...

Uma altura tentei, mas acabei por desistir, não era importante :\

Procurem por unbuffered input. Acho que é essa a solução.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites


#define NCHR '\0'
#define MAX_PASS 9  //tamanho da pass no caso 9 carateres


char *LerPass(char *pass)
{
int i;
char ch;
for(i=0;i<(MAX_PASS-1);i++)
{
	ch=getch();
	if(ch == '\b')   //se for backspace para o caso de enganos poder apagar
	{
		if(i > 0)
		{
			pass[i--]=NCHR;
			i--;
			putchar(ch);
			printf(" \b");
		}
		else
			putchar(NCHR);
	}
	else if(ch == '\032') // o 032 corresponde ao espaco
	{
		printf("A password nao pode conter Espacos");
		break;
	}
	else if(ch == '\r')  //quando for pressionado Enter
		break;
	else
	{
		pass[i]=ch;
		putchar('*');
	}

}
pass[i]=NCHR;
return pass; // retorna a password
}

//para chamar a funcao e so fazer o seguinte por exemplo

char pass[MAX_PASS];

LerPass(pass);

Acho que dá para perceber bem o código ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora