Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicitÓ e servizi in linea con il tuo account. 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


Parte della disumanitÓ del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.  [cit. Isaac Asimov]
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5714
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:


Parte della disumanitÓ del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.  [cit. Isaac Asimov]
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5714
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:


Parte della disumanitÓ del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.  [cit. Isaac Asimov]
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5714
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