qui*_*uss 0 c++ string file-io lines-of-code ifstream
是否有单行将一个(不是很大的)文本文件的内容读入字符串?
我找到的最短的:
#include <string>
#include <fstream>
#include <streambuf>
std::ifstream t("file.txt");
std::string str((std::istreambuf_iterator<char>(t)),
std::istreambuf_iterator<char>());
Run Code Online (Sandbox Code Playgroud)
(对于大文件,请注意它是非常低效的解决方案,因为它必须在从流中读取的每个新字符之后重新分配缓冲区.)
credit:@Tyler McHenry将整个ASCII文件读入C++ std :: string
您可以在一个声明中执行此操作:
std::string str(std::istreambuf_iterator<char>(std::ifstream("file.txt").rdbuf()), std::istreambuf_iterator<char>());
Run Code Online (Sandbox Code Playgroud)
这是一个单行代码取决于你的显示器有多大......