Ciao a tutti. Ho provato a dare un'occhiata sul forum, ma non son riuscito a trovare niente che mi togliesse i dubbi, quindi posto.
La prima fgets funziona come sperato, i problemi iniziano con la seconda, infatti sembra che legga una stringa vuota, e non lascia il tempo per inserire tale stringa.
La cosa strana è che se faccio prima la lettura del nome del file e poi quella della modalità sembra funzionare tutto come dovrebbe.
Codice PHP:
do{
char risposta[100], mode[3];
printf("-t to open a text file\n-e to open an hex file\n-q to quit\n\n>");
fgets(mode, sizeof(mode), stdin);
if (!strcmp(mode, "-t")){
printf("Insert the name of the file to open:\n>");
fgets(risposta, sizeof(risposta), stdin); //<-----------------------------------------------------------
int i;
for (i = 0;i < 100; i++)
if (risposta[i] == '\n'){
risposta[i] = \0;
break;
}
visualizzaFile(risposta);
}
else if (!strcmp(mode, "-e")){
printf("Insert the name of the file to open:\n>");
fgets(risposta, sizeof(risposta), stdin);//<-----------------------------------------------------------
int i;
for (i = 0;i < 100; i++)
if (risposta[i] == '\n'){
risposta[i] = \0;
break;
}
visualizzaExe(risposta);
}
else if (!strcmp(mode, "-q")) {
esci = true;
}
else {
printf("\nWrong option.\n");
visualizzaHelp();
}
}while(!esci);
Vi ringrazio per l'aiuto
, ciò che mi preme è capire il perchè di questo comportamento anomalo, mi interessa relativamente un soluzione alternativa.