In the following code :
#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
Since >> operator reads upto the first whitespace i get this output. How can i extract the line back into the string ?
I know this form of istream& getline (char* s, streamsize n );
but i want to store it in a string variable.
How can i do this ?
Use the std::getline()
from <string>
.
istream & getline(istream & is,std::string& str)
So, for your case it would be:
std::getline(read,x);