PDA

Visualizza versione completa : spazio??


bamba
12-09-2004, 18.20.51
Ciao a tutti...
Il mio problema e' il seguente: (che molto probabilmente è stupido)
quando eseguo il programma al momento dell'inserimento dei dati non posso mettere lo spazio altrimenti mi si blocca il programma!
Come faccio a far si che il programma me lo conti come un unico dato?

Mi spiego meglio: ad esempio devo stampare su un file il nome e il cognome con un'unica variabile separati da uno spazio come faccio???

...
ofstream out;
out.open ("file.doc");
char d[100];
.....
cout<<"Inserisci il nome e cognome del cliente"<<endl;
cin>>d;
out<<"COMMISSIONATO DA: "<<d<<endl;
....

Voglio che nel file.doc sia scritto:
COMMISSIONATO DA: nome cognome


Se mi aiutate mi fareste un grandissimo favore!!!!!!!!!!!!! Non riesco a darne fuori!!

LoryOne
13-09-2004, 12.33.50
E' che cin>> considera il carattere spazio come invio, quindi ritorna solo la sequenza di caratteri che nell'input lo precede.

Vi sono molte altre funzioni per effettuare l'input da tastiera.
Controlla i prototipi negli header che hai a disposizione e guarda quella che può fare al caso tuo.

Ps: Stai attento/a che alcune funzioni sembrano essere dei duplicati ma non tutte si comportano allo stesso modo.
Devi scegliere quella che più si adatta a quello che devi fare e soprattutto devi controllare SEMPRE cosa ti restituisce.
Questo implica non soltanto controlare il prototipo ma anche controllare carattere per carattere quello che immette in memoria dopo la pressione del tasto Invio.

Spesso e volentieri si utilizzano funzioni già disponibile per crearne altre ad hoc.
E' una pratica estremamente diffusa.

NS-1
13-09-2004, 14.02.02
cin.getline()


prova questa... :D