Originariamente inviato da IIAlexII
salve ragazzi volevo chiedervi una cosa: sto facendo una tesina client-server, e ho un problema banale ma su cui mi ci sto ammazzando un po troppo: praticamente devo fare leggere da tastiera un nome e un cognome. Pero purtroppo con la scanf mi succede che, se una persona ha un doppio cognome o un doppio nome, mi legge solamente il primo dei due a causa dello spazio che per forza di cose c'è tra una parola e l'altra.Come posso fare senza utilizzare la gets, tenendo la scanf?
Prova con scanf("[a-z A-Z0-9]", utente.nome);

edit
Le parentesi quadre servono a specificare gli input accettati:
[a-z A-Z0-9] significa "lettere minuscole", lo spazio, "lettere maiuscole" e "numeri".
Se all'inizio del set metti ^ invece neghi. Ad esempio, [^aeiou] significa "niente vocali".