问题
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 ?
回答1:
Use the std::getline() from <string>
.
istream & getline(istream & is,std::string& str)
So, for your case it would be:
std::getline(read,x);
来源:https://stackoverflow.com/questions/6663131/reading-a-line-from-ifstream-into-a-string-variable