将ifstream读入字符串的最有效方法是什么?

Hos*_*ein 2 c++ std

noob问题!我怎样才能将'整个ifstream'读成stdlib'字符串'?我现在用于所有项目的当前方式浪费了很多时间我认为:

string code;
ifstream input("~/myfile");
char c1=input.get();
while (c1!=EOF)
{
    code+=c1;
    len++;
    c1=input.get();
}
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我更喜欢自己做线和空白管理.

gen*_*ult 7

string load_file(const string& filename)
{
    ifstream infile(filename.c_str(), ios::binary);
    istreambuf_iterator<char> begin(infile), end;
    return string(begin, end);
}
Run Code Online (Sandbox Code Playgroud)