Salve ragazzi, stò cercando di creare una funzione per inserire una stringa da input arbitrariamente lunga. Io per adesso ho la seguente function:
Però, il prof. ci ha detto che usare tante volte la realloc, è dispendioso e và modificata, come posso modificare questa function?codice:char *StringaArbitraria() { int i=0; char *c,ci; c=(char*)malloc(sizeof(char)); while(ci!=10) // mi fermo quando trovo un newline \n { ci=getchar(); // inserisco un singolo carattere c[i]=ci; // lo associo puntatore i++; c=(char*)realloc(c,sizeof(char)*(i+1)); } c[i]='\0'; //inserisco terminatore '\0' return c; }

Rispondi quotando