figboy
I folded Myself
Boa noite a todos. Tenho de fazer uma função para fazer login de um utilizador e tenho de usar ficheiros para guardar a informação dos utilizadores.
Sendo assim a minha ideia seria ter uma pasta em que cada ficheiro tem o como nome o próprio nome do utilizador e dentro desse ficheiro tinha a sua password.
A primeira coisa que estava a pensar fazer é abrir o diretório onde estão os ficheiros dos utilizadores e verificar se existe algum ficheiro com o nome de utilizador que foi introduzido ao fazer login.
O código que fiz foi este, mas está me a dar o erro "Falha de segmentação (imagem do núcleo gravada)", já percebi de onde vem o erro, é no caminho do opendir. Se eu puser o caminho completo já não dá erro. Contudo eu não queria colocar o caminho completo, queria colocar o caminho apenas a partir de onde tenho o executável para conseguir que o programa funcione em qualquer pc, há maneira de fazer isto?. Para além disso não estou a conseguir fazer o que pretendo, mas não estou a ver como o fazer.
Se alguém me conseguir dar umas luzes sobre isto agradeço imenso.
Cumps
Sendo assim a minha ideia seria ter uma pasta em que cada ficheiro tem o como nome o próprio nome do utilizador e dentro desse ficheiro tinha a sua password.
A primeira coisa que estava a pensar fazer é abrir o diretório onde estão os ficheiros dos utilizadores e verificar se existe algum ficheiro com o nome de utilizador que foi introduzido ao fazer login.
O código que fiz foi este, mas está me a dar o erro "Falha de segmentação (imagem do núcleo gravada)", já percebi de onde vem o erro, é no caminho do opendir. Se eu puser o caminho completo já não dá erro. Contudo eu não queria colocar o caminho completo, queria colocar o caminho apenas a partir de onde tenho o executável para conseguir que o programa funcione em qualquer pc, há maneira de fazer isto?. Para além disso não estou a conseguir fazer o que pretendo, mas não estou a ver como o fazer.
Código:
int login()
{
char user[20], pass[20];
printf("utilizador:"); //nome de utilizador
scanf("%s", &user);
printf("Password:");
scanf("%s", pass); //password do utilizador
DIR *acesso;
struct dirent *d;
acesso = opendir("Projeto/Login/Administradores");
while ( (d =readdir(acesso)) != NULL){
if ((d==user){
printf("User encontrado");
}
else {
printf("User não encontrado");
}
}
}
Se alguém me conseguir dar umas luzes sobre isto agradeço imenso.
Cumps