Jump to content
Aezrel

gets que salta!

Recommended Posts

Aezrel

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!  :P

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

Share this post


Link to post
Share on other sites
Rui Carlos

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');

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.