Input stringa di max 10 caratteri

di il
19 risposte

19 Risposte - Pagina 2

  • Re: Input stringa di max 10 caratteri

    vuott ha scritto:


    Ritieni sia un po' migliore questo ?
    #include <stdio.h>
    
    
    int main(void) {
    
       char name[16]={'\0'}, n=0;
    
       printf("inserisci nome primo giocatore\n");
    
       while((n<10) && ((name[n++]=getchar())!=10) ) {
           getchar();
       }
    
       printf("Verifica: %s\n", name);
    
    	return 0;
    
    }
    Direi di no: cosa pensi che faccia la doppia chiamata a getchar?? In questo modo prendi un carattere si e uno no....
  • Re: Input stringa di max 10 caratteri

    La doppia "getchar( )" è un escamotage per svuotare il buffer di input (stdin) senza privarsi della eventualità della pressione del tasto Invio per i nomi aventi un numeri di caratteri inferiore a 10.

    Forse provando il programma...
  • Re: Input stringa di max 10 caratteri

    ... inoltre affidarsi ad una inizializzazione di una struttura (semplice, un vettore di caratteri) in C non è proprio il massimo dell'eleganza e sicurezza (mi riferisco allo 0 finale).
    Appendilo "a mano" all'uscita del ciclo.
    Oltre alla scarsa leggibilità, alla doppia chiamata, cosa succede se si preme, ad esempio, TAB?
  • Re: Input stringa di max 10 caratteri

    vuott ha scritto:


    La doppia "getchar( )" è un escamotage per svuotare il buffer di input (stdin) senza privarsi della eventualità della pressione del tasto Invio per i nomi aventi un numeri di caratteri inferiore a 10.

    Forse provando il programma...
    Quindi, secondo te, un utente inserisce il nome dando invio dopo ogni carattere inserito?????......
  • Re: Input stringa di max 10 caratteri

    +m2+ ha scritto:


    ... inoltre affidarsi ad una inizializzazione di una struttura (semplice, un vettore di caratteri) in C non è proprio il massimo dell'eleganza e sicurezza (mi riferisco allo 0 finale).
    Ho eliminato quello zero, e funziona ugualmente.
    Grazie.

    LPs ha scritto:


    Quindi, secondo te, un utente inserisce il nome dando invio dopo ogni carattere inserito?????
    ...mi era parso questo, ma evidentemente ho interpretato male.

    +m2+ ha scritto:


    cosa succede se si preme, ad esempio, TAB?
    Questo problema non sussiste più, avendo io interpretato male la domanda di supervip97.
Devi accedere o registrarti per scrivere nel forum
19 risposte