riprendendo ciò che ha suggerito kNemo:Originariamente inviato da rocco.g
ciao,
ho una curiosità... come faccio a far inserire dall'utente una stringa di una lunghezza arbitraria ? cioè con un numero non specificato di caratteri... i vettori sono una entità statica in quanto bisogna già dall'inizio specificarne la "capienza", quindi come si può fare ? ho pensato di usare una malloc ma non so come...
codice:#include <stdio.h> #include <stdlib.h> int main() { char *s; unsigned long i=0; printf("inserisci una stringa:\n"); if( ! (s = (char*) malloc(sizeof(char))) ) { printf("\aimpossibile allocare la memoria\n"); return -1; } while(1) { //s[i]=getchar(); //if(s[i]=='\n') break; s[i]='A'; if(i==999999) break; i++; if( ! (s = (char*) realloc(s, i+1)) ) { printf("\aimpossibile allocare altra memoria\n"); return -1; } } s[i]='\0'; printf("la stringa inserita e\':\n%s\nsono stati allocati %d byte\n", s, ++i); free(s); system("pause"); return 0; }