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(modesizeof(mode), stdin);
        if (!
strcmp(mode"-t")){
            
printf("Insert the name of the file to open:\n>");
            
fgets(rispostasizeof(risposta), stdin); //<-----------------------------------------------------------
            
int i;
            for (
0;100i++)
                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(rispostasizeof(risposta), stdin);//<-----------------------------------------------------------
            
int i;
            for (
0;100i++)
                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.