Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problema lunghezza stringa
Forum - C/C++ - Problema lunghezza stringa

Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 21:16
Martedì, 05/11/2013
Ciao a tutti il mio problema è letta una stringa mi restituisce una lunghezza errata della stessa.
Non capisco il perchè..
Codice sorgente - presumibilmente C/C++

  1. string espressione;
  2.         cout << "Inserisci una stringa" << endl;
  3.         cin >> espressione;
  4.     cout << endl << "[" << espressione.length() << "]" ; // restituisce 1 -.-


Ultima modifica effettuata da bububs il 05/11/2013 alle 21:19
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:23
Martedì, 05/11/2013
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à.
PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 21:30
Martedì, 05/11/2013
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:

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:07
Martedì, 05/11/2013
Il segreto è studiare la classe string

http://www.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

http://www.codeproject.com/Articles/10880/A-trim-implement ...


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à.
PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 22:11
Martedì, 05/11/2013
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:

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:49
Martedì, 05/11/2013
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à.
PM Quote