Potresti usare la getchar e la realloc per cambiare in continuazione le dimensioni della stringa.Io a mio tempo avevo fatto una funzione del genere:
http://forum.html.it/forum/showthrea...readid=1435903
Però dopo tanta pratica sono arrivato alla conclusione che la soluzione migliore è usare un buffer di dimensioni fisse:
Perchè anche la realloc provoca una chiamata di sistema e non è il massimo della velocità.codice:void input(char** buffer) { char temp[1000]; fgets(temp,1000,stdin); *buffer=(char*)malloc( (strlen(temp)+1) *sizeof(char) ); strcpy(*buffer,temp); }
Però come esercizio sarebbe bello da fare.