Είμαι νέος στον προγραμματισμό. Ποια είναι η διαφορά μεταξύ 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,
η συστοιχία περιέχει "Hello"
ο επόμενος χαρακτήρας για να διαβάσετε είναι ','
μετά την ανάγνωση "Γεια σας, κόσμος." μέχρι κόμμα χρησιμοποιώντας istream :: getline,
η συστοιχία περιέχει "Hello"
ο επόμενος χαρακτήρας για ανάγνωση είναι ''

Coliru Viewer

Προγραμματισμός: Αρχές και Πρακτική χρησιμοποιώντας τη C ++ (2η έκδοση) (9780321992789): Bjarne Stroustrup: Βιβλία