Aezrel Posted June 20, 2008 Report Share Posted June 20, 2008 Antes de mais gostaria de dar as boas tardes a todos vocês. 🙂 Bom, a minha dúvida é a seguinte, estou a desenvolver um programa onde preciso de receber um nome de utilizador e uma password. Para isso tenho a função em baixo: criar_conta() { char username[25]; char password[11]; FILE *fp = fopen("base_dados.txt", "a+"); puts("Insira o seu primeiro e ultimo nome: \n"); gets(username); printf("Introduza a sua Password: \n"); gets(password); fprintf(fp, "%s", username); fprintf(fp, "%s", password); fclose(fp); Ora, não sei porquê mas o programa ao correr, salta a primeira gets e passa logo para a segunda. (as gets em questão, estão destacadas a azul). Já experimentei também colocar scanf em vez de gets, mas ao fazer isso, acontece o oposto! Ao correr ele pede a primeira, mas salta a segunda...lol Este é o meu primeiro programa com manipulação de ficheiros, se puderem dar uma ajuda! 😛 Já ando a tarde toda de volta disto e ainda não consegui descobrir o problema... Já agora, algum de vocês sabe de alguma função em que o utilizador, ao escrever a password, apareçam *** ? Já procurei aqui no forum, mas a solução que apresentaram não funcionou no meu compilador (Visual Studio) :bored: ? :down: Agradeço desde já, a vossa atenção, Marco Link to comment Share on other sites More sharing options...
Rui Carlos Posted June 20, 2008 Report Share Posted June 20, 2008 Provavelmente tens algum caracter no buffer de entrada. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Aezrel Posted June 20, 2008 Author Report Share Posted June 20, 2008 Como soluciono isso? Link to comment Share on other sites More sharing options...
Rui Carlos Posted June 20, 2008 Report Share Posted June 20, 2008 Depende do caso... Como é o primeiro que está a saltar, pressuponho que uses alguma função de leitura de dados antes. Tens que limpar o buffer depois de a usar, o que normalmente pode ser feito com um while(getchar()!='\n'); Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Aezrel Posted June 20, 2008 Author Report Share Posted June 20, 2008 Obrigado pelo esclarecimento 😛 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now