Oppure

Loading
05/11/13 20:16
bububs
Ciao a tutti il mio problema è letta una stringa mi restituisce una lunghezza errata della stessa.
Non capisco il perchè..
        string espressione;
        cout << "Inserisci una stringa" << endl;
        cin >> espressione;
    cout << endl << "[" << espressione.length() << "]" ; // restituisce 1 -.-
Ultima modifica effettuata da bububs 05/11/13 20:19
aaa
05/11/13 20:23
nessuno
Gli spazi interrompono l'input quindi se scrivi

a b c

avrai solo il primo carattere nella stringa.

Utilizza la getline

getline(cin, espressione);
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
05/11/13 20:30
bububs
Grazie mille! Non riuscivo ad uscirne..
Altre 2 cose:
- se volessi eliminare gli spazi ad inizio e fine frase come dovrei fare?
- per splittare la stringa secondo un carattere invece?
grazie in anticipo per la disponibilità :k:
aaa
05/11/13 21:07
nessuno
Il segreto è studiare la classe string

cplusplus.com/reference/string/string/

Puoi cercare con il metodo find e prelevare una parte di stringa con substr

Per la trim vedi ad esempio

codeproject.com/Articles/10880/…
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
05/11/13 21:11
bububs
Perfetto grazie mille per i suggerimenti :)

P.S. come hai potuto notare sono agli inizi di questo linguaggio che sto vedendo molto diverso dal C :rotfl:
aaa
05/11/13 22:49
nessuno
E in effetti è molto diverso dal C, pur condividendo la sintassi e i principi di base.

Comunque, il C++ non si affronta da zero senza un buon libro, anzi te ne serve anche più di uno. E tanto tanto tempo.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.