Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C++]Problema con metodo getline

    Sto usando il metodo getline, perņ quello della classe string:

    http://www.cplusplus.com/reference/string/getline/

    Perņ nel mio main non funziona:

    codice:
     if(operazione==1)
                           {
                               string value;
                               cout<<"Inserire il titolo del film:"<<endl;
                               getline(cin, value);
                               Film* film=new Film(value); 
                               cout<<"Ecco le informazioni sul film:"<<endl;
                               cout<<  distr->search(film->getTitolo(),1); 
                           }
    Se eseguo il codice ed entro in questo if, mi spunta la stringa che chiede di inserire il titolo, ma non posso digitare da tastiera nulla, il codice continua con l' esecuzione del resto del codice, perchč mai?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Probabilmente prima hai usato:
    codice:
    cin >> variabile;
    che lascia il terminatore \n nel buffer di input. Scrivi:
    codice:
    cin.clear(); 
    cin.ignore(INT_MAX, '\n');
    dopo ogni acquisizione fatta con
    codice:
    cin >> variabile;
    getline(), nella versione di default che hai usato, č immune da questo problema.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Si esatto, era proprio cosģ, grazie.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.