在以下代码中:
#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 );
的这种形式,但我想将其存储在字符串变量中。
我怎么能这样做?
答案 0 :(得分:97)
使用<string>
中的std::getline()
。
istream & getline(istream & is,std::string& str)
因此,对于您的情况,它将是:
std::getline(read,x);