Olá, estou com um problema ao ler uma string do utilizador usando gets() ou fgets().
Possuo um método no meu programa que contém a seguinte parte:
void alteraDevice(){
FILE *fp;
int opcao=0;
//char teste[1024];
char* change;
char file[1024];
sprintf(file,"%s.config",Device.device_name+1);
if ((fp = fopen (file,"w"))==NULL) {
perror("Error opening target file!\n");
fclose(fp);
}
else{
do{
printf("Insira o que deseja mudar o valor:\n");
printf("1- Descrição\n");
printf("2- temp1\n");
printf("3- temp2\n");
scanf("%d",&opcao);
if(opcao<1 && opcao >3)
printf("Por favor insira apenas uma das opções apresentadas!");
else if(opcao==1){
printf("Insira o novo valor do campo:\n");
[b] fgets(change,1024,stdin); ---> é aqui o problema[/b]
....
....
....
O problema que está a acontecer é que quando o programa chama a função fgets() deveria ficar a espera que o utilizador insira uma string mas isso não acontece e executa os comandos a seguir no meu programa!!! Não sei o que possa estar a acontecer pois usando a função fgets() num outro programa ela funciona correctamente!!
Algo me está a escapar? Alguém me pode ajudar?
Também me podem dizer como obter os páginas de man para os comandos de gcc? Estou a usar Ubuntu 6.06.
Desde já obrigado e peço desculpa pelo post anterior sem login ;)
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
Synk
Olá, estou com um problema ao ler uma string do utilizador usando gets() ou fgets().
Possuo um método no meu programa que contém a seguinte parte:
O problema que está a acontecer é que quando o programa chama a função fgets() deveria ficar a espera que o utilizador insira uma string mas isso não acontece e executa os comandos a seguir no meu programa!!! Não sei o que possa estar a acontecer pois usando a função fgets() num outro programa ela funciona correctamente!!
Algo me está a escapar? Alguém me pode ajudar?
Também me podem dizer como obter os páginas de man para os comandos de gcc? Estou a usar Ubuntu 6.06.
Desde já obrigado e peço desculpa pelo post anterior sem login ;)
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.