• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sion

buffer nao funciova 100%

5 mensagens neste tópico

Boas tou com um problema que embora pequena me faz uma cerca "comichão" :bored:

Nesta funcao eu uso gets para ler uma string, o que acontece e que a uso duas vezes seguidas e por isso usei o  while(getchar()!='\n'); para limpar o buffer , mas ao pedir o 1º nome ele obrigame a dar dois "enters" para seguir em frente :S.

Nao existe maneira de solucionar isto?( ja tentei por o comando no inicio no fim e no meio da função o resultado é o mesmo xD

char nomejog(char jogador[50])  
{
     printf("\nInsira o seu nome\n");                                    // NOME DOS JOGADORES
     while(getchar()!='\n');
    gets(jogador);

}

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esse while deve aparecer sempre depois das leituras, e não antes. Antes também pode ser que funcione, mas já depende dos casos.

E fazer o que o Baderous disse, ou usar o fgets, também é boa ideia.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora