Новак съм в програмирането. Каква е разликата между get () и getline ()?


Отговор 1:

std :: basic_istream :: get - cppreference.com

std :: basic_istream :: getline - cppreference.com

#include 
#include 

int main ()
{
    {
    std :: istringstream s1 ("Здравей, свят.");
    char str [6];
    s1.get (str, sizeof str, ','); // четене до запетаята; оставя запетая на потока
    std :: cout << "след четене \" "<< s1.str () <<" \ "до запетая с помощта на istream :: get, \ n"
              << "масивът съдържа \" "<< str <<" \ "\ n"
              << "следващият символ за четене е" "<< (char) s1.get () <<" '\ n ";
    }

    {
    std :: istringstream s1 ("Здравей, свят.");
    char str [6];
    s1.getline (str, sizeof str, ','); // четене до запетаята; премахва запетая от потока
    std :: cout << "след четене \" "<< s1.str () <<" \ "до запетая с помощта на istream :: getline, \ n"
              << "масивът съдържа \" "<< str <<" \ "\ n"
              << "следващият символ за четене е" "<< (char) s1.get () <<" '\ n ";
    }
}
след като прочетете "Здравей, свят." до запетая с помощта на istream :: get,
масивът съдържа "Здравей"
следващият символ за четене е „,“
след като прочетете "Здравей, свят." до запетая с помощта на istream :: getline,
масивът съдържа "Здравей"
следващият символ за четене е „“

Coliru Viewer

Програмиране: Принципи и практика при използване на C ++ (второ издание) (9780321992789): Bjarne Stroustrup: Books