从ifstream读取一行到字符串变量

时间:2011-07-12 10:59:00

标签: c++ string ifstream getline

在以下代码中:

#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

由于&gt;&gt;运算符读取到第一个空格我得到此输出。如何将线提​​取回字符串?

我知道istream& getline (char* s, streamsize n ); 的这种形式,但我想将其存储在字符串变量中。 我怎么能这样做?

1 个答案:

答案 0 :(得分:97)

使用<string>中的std::getline()

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

因此,对于您的情况,它将是:

std::getline(read,x);