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