Originariamente inviato da mirkul
e poi volevo crearlo dinamico cioe' che e' l'utente a scegliere quanto grosso deve essere questa stringa! non voglio metterci una lunghezza fissa, mi sembra troppo limitante...
Qualche limite nei programmi c'è quasi sempre, la lunghezza di riga del prompt dei comandi, di un indirizzo web, tutto ha un limite. Non ti bastano, diciamo 4096 caratteri per riga?
1) man mano che leggi con getchar riempi questo buffer, allocato sullo stack, di 4096 bytes.
2) quando decidi che la riga è finita. allochi un nodo di una lista in cui ci copi i tuoi caratteri inseriti, un nodo del tipo:
codice:
struct riga_st {
     char *str; // qui ci copi il tuo buffer con un semplice: str = strdup(buf); dove buf è il tuo buffer da 4096 caratteri
     struct riga_st *next;
};