Oppure

Loading
03/07/13 10:16
sd
ciao a tutti, come faccio ad acquisire un numero e poi una stringa con gli spazi?
io ho provato così e non funziona:
main(){
    int num;
    char *string;
    scanf("%d", &num);
    scanf("%[^\n]", string);
}


ho provato anche in questo modo ma non va lo stesso:

main(){
    int num;
    char *string;
    scanf("%d", &num);
    gets(string);
}


il problema è che non mi esegue la seconda lettura! cioè non eseguire la seconda "scanf" nel primo codice e il "gets" nel secondo codice! help!
Ultima modifica effettuata da sd 03/07/13 10:18
aaa
03/07/13 11:04
ZioCrocifisso
gets non va mai usato, perché porta a buffer overflow, e inoltre l'hai usato male, perché gli hai passato un puntatore che non punta a niente. Lo stesso per lo scanf del primo codice: gli hai passato solo un puntatore non inizializzato, devi passargli della memoria allocata (per esempio un array). Usa getchar in un loop (per esempio finché non incontri '\n').
Ultima modifica effettuata da ZioCrocifisso 03/07/13 11:06
aaa
03/07/13 14:13
sd
wo grande grazie :)
aaa