将文本文件读取为字符串的最短方法
Shortest way to read Textfile to String
可能的重复项:
在 c++ 中将文件转换为 std::string 的最佳方法是什么?
我以为已经有这样的问题了,但我找不到。所以我的问题来了。
将整个文本文件读入字符串的最短方法是什么?我只想使用最新的C++标准和标准库的功能。
我认为这个共同的任务必须有一个衬里!
大概是这个:
std::ifstream fin("filename");
std::ostringstream oss;
oss << fin.rdbuf();
std::string file_contents = oss.str();
还有这个:
std::istreambuf_iterator<char> begin(fin), end;
std::string file_contents(begin, end);
有些人可能会建议这样做,但我更喜欢只输入一次istreambuf_iterator<char>
。
std::string file_contents(std::istreambuf_iterator<char>{fin}, std::istreambuf_iterator<char>());
使用一个语句将文件读入std::string
(它是否适合一行取决于你行的长度......)看起来像这样:
std::string value{
std::istreambuf_iterator<char>(
std::ifstream("file.txt").rdbuf()),
std::istreambuf_iterator<char>()};
不幸的是,这种方法通常不如使用额外的std::ostringstream
那么快(尽管它应该更快......
相关文章:
- 有哪些有效的方法可以消除一组 100 万个字符串>重复数据?
- 在 c++ 中对类中的 c 字符串动态数组进行排序的最佳方法是什么?
- 具有字符串化的可变参数宏的现代/通用方法
- 接收字符串并使用它来调用方法C++
- 如何分隔字符串并将标记传递给方法
- 是否有通用方法可以找到任何以 null 结尾的字符串的长度?
- 当映射包含字符串向量作为值时,从值中获取键的有效方法
- 在 C++11 中字符串化变量名称的替代方法
- 连接和压缩标准::vector<std::字符串的最佳方法>
- Esp8266 & Nodemcu:返回请求字符串的方法
- 将位字符串转储到二进制文件的最佳方法是什么
- 有没有一种 STL 方法可以找到字符串的所有排列,给出一个以 C++ 为单位的大小?
- 如何将字符串从 C++/CLI 方法返回到调用它的非托管C++
- 创建字符串数组的有效方法
- 如何使用字符串::replace方法写入文件
- 是否有更有效的方法来生成日期的REGEX字符串
- C++-将对象(如字符串)映射到表中成员函数的正确方法
- 有没有更快的方法从成员函数返回格式化字符串
- 有没有一种方法可以在不复制数据的情况下从string_view创建字符串流
- 从c++中的类指针对象调用方法(字符串)