Sono nuovo nella programmazione. Qual è la differenza tra get () e getline ()?


Risposta 1:

std :: basic_istream :: get - cppreference.com

std :: basic_istream :: getline - cppreference.com

#include 
#include 

int main ()
{
    {
    std :: istringstream s1 ("Ciao, mondo.");
    char str [6];
    s1.get (str, sizeof str, ','); // leggi fino alla virgola; lascia la virgola sullo stream
    std :: cout << "dopo aver letto \" "<< s1.str () <<" \ "fino alla virgola usando istream :: get, \ n"
              << "l'array contiene \" "<< str <<" \ "\ n"
              << "il prossimo carattere da leggere è '" << (char) s1.get () << "' \ n";
    }

    {
    std :: istringstream s1 ("Ciao, mondo.");
    char str [6];
    s1.getline (str, sizeof str, ','); // leggi fino alla virgola; rimuove la virgola dallo stream
    std :: cout << "dopo aver letto \" "<< s1.str () <<" \ "fino alla virgola usando istream :: getline, \ n"
              << "l'array contiene \" "<< str <<" \ "\ n"
              << "il prossimo carattere da leggere è '" << (char) s1.get () << "' \ n";
    }
}
dopo aver letto "Ciao, mondo". fino alla virgola utilizzando istream :: get,
l'array contiene "Hello"
il prossimo personaggio da leggere è ','
dopo aver letto "Ciao, mondo". fino alla virgola usando istream :: getline,
l'array contiene "Hello"
il prossimo personaggio da leggere è ''

Coliru Viewer

Programmazione: principi e pratica usando C ++ (2a edizione) (9780321992789): Bjarne Stroustrup: Libri