web-dev-qa-db-ja.com

ifstreamから文字列変数への行の読み取り

次のコードでは:

#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

>>演算子は最初の空白まで読み取るため、この出力を取得します。行を文字列に抽出するにはどうすればよいですか?

私はistream& getline (char* s, streamsize n );のこの形式を知っていますしかし、文字列変数に格納したいです。どうすればできますか?

59
Suhail Gupta

<string>から std::getline() を使用します。

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

したがって、あなたの場合は次のようになります。

std::getline(read,x);
98
jonsca