Daemonio
(usa Slackware)
Enviado em 03/04/2010 - 20:42h
Acho que no Windows você não tem a função getpass(). O jeito então é implementar uma.
Como no linux a função getpass() não exibe os caracteres na tela, no windows você pode
utilizar getch() de conio.h, mas é preciso ler caractere por caractere e só
parar quando o usuário pressionar enter (código ascii 13):
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void getpass(char *senha) {
char ch ;
int i = 0;
while ( 1 ) {
ch = getch() ;
if ( ch == 13) break ;
senha[i++] = ch ;
}
senha[i] = '\ 0' ; // Retire o espaço entre \ e 0
}
int main(){
char senha[30] ;
printf("Digite a senha: ");
getpass(&senha) ;
if(strcmp(senha,"lincolnpark")){
printf("Senha incorreta!");
}else{
printf("Senha Ok");
}
system("pause") ;
return 0 ;
}
Aqui funcionou de boa. Vou ficar te devendo "aquela" função de ler passwords no windows, porque
de fato eu não conheço nenhuma :D
Abraços
t+