Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479

    [C++] Problema con String

    Ciao a tutti.

    Supponendo di avere questo semplice programmino:

    #include <iostream>
    #include <string>

    void main()
    {
    string str;
    while(cin >> str)
    cout << str << endl;
    cout << "Fine lettura";

    char look; cin >> look; //Per far rimanere la finestra DOS aperta
    }

    Io inserisco: Oggi stò bene

    Lui stamperà:
    Oggi
    stò
    bene

    Fino a qui tutto ok, ma, come faccio a fargli stampare pure "Fine lettura"?

    Se io digito "Oggi stò bene" una volta che lo ha stampato come sopra, attende che io inserisca altro.

    Come si può risolvere questo problema? il \0 non lo inserisce automaticamente?

  2. #2
    prova con:
    codice:
     
     #include <iostream> 
     #include <string> 
     #include <cstdio>
    
    using namespace std;
     
     int main() 
     { 
     string str; 
     cin >> str;
     cout << str << endl; 
     cout << "Fine lettura"; 
     system("PAUSE");
     return 0;
     }
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  3. #3
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    Così funziona perchè lui legge una sola stringa..la stampa..e poi stampa "fine lettura". Ma con un ciclo non funziona.

  4. #4
    codice:
     
     #include <iostream> 
     #include <string> 
     #include <cstdio>
    
    using namespace std;
     
     int main() 
     { 
      string str; 
      while(cin >> str)
      {
       cout << str << endl;
      } 
      cout << "Fine lettura"; 
      system("PAUSE");
      return 0;
     }
    Prova cosi!
    Secondo me il Fine lettura nnn andava messo nel while
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  5. #5
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    Prova ad eseguirlo. Vedrai che non stampa "Fine lettura"

  6. #6
    mi stampi una finestra di screenshoot??

    E che su Mandrake nn ho ancora capito come utilizzare il GCC:sexpulp:
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  7. #7
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    Faccio un casino a mettertela qui. Apri ICQ, ti ho aggiunto alla mia lista di amici

  8. #8
    294735590
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  9. #9
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    Ti ho aggiunto..collegati

  10. #10
    Per uscire dal ciclo devi inviare EOF da tastiera. Da UNIX/Linux e` CTRL+D, mentre da Windows dovrebbe essere CTRL+Z.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.