Jag är ny med att programmera. Vad är skillnaden mellan get () och getline ()?


Svar 1:

std :: basic_istream :: get - cppreference.com

std :: basic_istream :: getline - cppreference.com

# inkludera 
# inkludera 

int main ()
{
    {
    std :: istringstream s1 ("Hej, världen.");
    char str [6];
    s1.get (str, sizeof str, ','); // läs upp till komma; lämnar komma i strömmen
    std :: cout << "efter att ha läst \" "<< s1.str () <<" \ "upp till komma med istream :: get, \ n"
              << "matrisen innehåller \" "<< str <<" \ "\ n"
              << "nästa tecken att läsa är '" << (char) s1.get () << "' \ n";
    }

    {
    std :: istringstream s1 ("Hej, världen.");
    char str [6];
    s1.getline (str, sizeof str, ','); // läs upp till komma; tar bort komma från strömmen
    std :: cout << "efter att ha läst \" "<< s1.str () <<" \ "upp till komma med istream :: getline, \ n"
              << "matrisen innehåller \" "<< str <<" \ "\ n"
              << "nästa tecken att läsa är '" << (char) s1.get () << "' \ n";
    }
}
efter att ha läst "Hej, världen." upp till komma med istream :: få,
matrisen innehåller "Hej"
nästa tecken att läsa är ','
efter att ha läst "Hej, världen." upp till komma med istream :: getline,
matrisen innehåller "Hej"
nästa tecken att läsa är ''

Coliru Viewer

Programmering: Principer och övning med C ++ (2: a upplagan) (9780321992789): Bjarne Stroustrup: Böcker