Aezrel Posted June 20, 2008 at 06:41 PM Report Share #192449 Posted June 20, 2008 at 06:41 PM 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 at 06:46 PM Report Share #192450 Posted June 20, 2008 at 06:46 PM 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 at 06:49 PM Author Report Share #192451 Posted June 20, 2008 at 06:49 PM Como soluciono isso? Link to comment Share on other sites More sharing options...
Rui Carlos Posted June 20, 2008 at 06:51 PM Report Share #192452 Posted June 20, 2008 at 06:51 PM 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 at 06:58 PM Author Report Share #192453 Posted June 20, 2008 at 06:58 PM 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