Подтвердить что ты не робот

Чтение строки из ifstream в строковую переменную

В следующем коде:

#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

Так как оператор читает до первого пробела, я получаю этот вывод. Как я могу извлечь строку обратно в строку?

Я знаю эту форму istream& getline (char* s, streamsize n ); , но я хочу сохранить ее в строковой переменной. Как я могу это сделать?

4b9b3361

Ответ 1

Используйте std::getline() от <string>.

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

Итак, для вашего случая это будет:

std::getline(read,x);