从ifstream读取一行到一个stringvariables

在下面的代码中:

#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

由于>>运算符读取第一个空白我得到这个输出。 我怎样才能提取行回到string?

我知道这种forms的istream& getline (char* s, streamsize n ); 但我想存储在一个stringvariables。 我怎样才能做到这一点?

使用<string>std::getline()

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

所以,你的情况是这样的:

 std::getline(read,x);