Ответ 1
Используйте std::getline()
от <string>
.
istream & getline(istream & is,std::string& str)
Итак, для вашего случая это будет:
std::getline(read,x);
В следующем коде:
#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 );
, но я хочу сохранить ее в строковой переменной.
Как я могу это сделать?
Используйте std::getline()
от <string>
.
istream & getline(istream & is,std::string& str)
Итак, для вашего случая это будет:
std::getline(read,x);