Oppure

Loading
19/07/07 9:37
:: sara ::
grazie a tutti per l'immenso aiuto!!!

ciao ciao:)
aaa
19/07/07 13:11
WARRIOR
:D:D:D:D:D:D:D:D:D
Scusate per l'immenso errore, chiedo venia.
Studiando java, ho preso l'abitudine di considerare le stringhe come oggetti, non come array di caratteri come avviene in C++.
:D:D:D:D:D
aaa
19/07/07 14:12
andry89mm
Scusate ragà:
ma una stringa dichiarata come array alfanumerico, si prende in input col
 cin>> 
??
ES.:
 char Stringa[30];
cout<<"Inserisci la stringa : "
cin>>Stringa; //???

Pensavo si utilizzasse :
 gets(Stringa); 

...scusate se sn andato un pò OT, ma non ritenevo opportuno aprire un nuovo topic solo per questa precisazione..
aaa
19/07/07 14:27
WARRIOR
Andrea quando inserisci una stringa e la leggi col
cin >> qualcosa;

C'è un problema, è corretto certo, ma avviene questa cosa:
cin >> str; //inserisco la frase: "ciao bello"
cout << str;

Il programma stamperà la stringa "ciao", perchè la stringa viene letta fino al carattere NULL.
Con gets() viene risolto questo problema, perchè viene incluso anche il carattere NULL.
aaa
20/07/07 13:07
netarrow
gets è una funzione C non C++(ma vanno lo stesso ovviamente), e non a caso è super bacata e se un programma la usa permette ad un utente di eseguire codice arbitrario.

Per leggere una linea in C++ è possibile usare

getline(stream, str);

tipo

string str;
getline(cin, str);

oppure string str;

cin >> str;

ma potrebbe essere che come per la vecchia gestione delle stringhe stile array di caratteri il problema dello spazio ci sia anche negli oggetti stringa usando cin >>.
Ultima modifica effettuata da netarrow 20/07/07 13:10
aaa