我有下一个代码:
#include "boost/filesystem.hpp"
#include "boost/filesystem/fstream.hpp"
#include <iostream>
namespace fs = boost::filesystem;
...
fs::path p{ "mysuperfile.txt" };
fs::ifstream ifs{ p };
std::string data;
ifs >> data;
ifs.close();
...
问题是,它读取文件内容直到第一个白色空间,这只是一个单词。而已。因此,问题是如何使用boost :: filesystem:ifstream读取文件的内容,列空间,线断裂,选项卡和所有其他可能的字符?谢谢。
为什么不简单地
std::ifstream ifs("mysuperfile.txt");
std::string data(std::istreambuf_iterator<char>(ifs),
std::istreambuf_iterator<char>());
之后,data
的内容应为文件内容的精确副本。