Ciao a tutti
prima che mi diciate che è stato gia detto mille volte vi avverto LE HO PROVATE TUTTE
ho provato:
fgets (do invio e non va avanti)
getline (idem)
getchar
(non riesco a svuotare il buffer fflush(stdin) non funziona)
Ho provato cosi:
void catturaMessaggio(char * msg){
strcpy(msg, ""); //Azzero la stringa in ingresso
char car;
int i=0;
//Svuoto il buffer
do{
car=getchar(); //Legge un carattere da stdin fino a /n oppure EOF
}while(car!='\n' && car!=EOF);
car=getchar();
while(car != '\n'){ //Finche non ho premuto invio
msg[i]=car;
car=getchar();
i++;
}
msg[i]='\0'; //Chiudo la stringa presa in input con il terminatore di stringa \0
}
Ma c'è qualcosa di sbagliato perchè le prime volte va poi invece si blocca sul primo while e devo dare invio a mano per andare sul secondo while.
Come lo correggo??

Rispondi quotando