web-dev-qa-db-fra.com

lire une ligne d'ifstream dans une variable chaîne

Dans le code suivant:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
    string x = "This is C++.";
    ofstream of("d:/tester.txt");
    of << x;
    of.close();


    ifstream read("d:/tester.txt");
    read >> x;
    cout << x << endl ;
}

Output :

This

Depuis que l'opérateur lit jusqu'au premier espace, j'obtiens cette sortie. Comment puis-je extraire la ligne dans la chaîne?

Je connais cette forme de istream& getline (char* s, streamsize n );mais je veux le stocker dans une variable de chaîne. Comment puis-je faire cela?

59
Suhail Gupta

Utilisez le std::getline() de <string>.

 istream & getline(istream & is,std::string& str)

Donc, pour votre cas, ce serait:

std::getline(read,x);
98
jonsca