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: 5461
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 ...
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: 5461
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 ...
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: 5461
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 ...
PM Quote