【发布时间】:2020-11-04 06:47:21
【问题描述】:
我正在寻找一种方法来使用文本文件生成所需的尽可能多的文本,只需根据需要重复几次。
在像 Haskell 这样的纯函数式语言中,解决方案似乎微不足道:here 我已经发布了审查代码,虽然我很确定它可以改进,但它很短。
但在 C++ 中,我几乎不知道从哪里开始,除了我很确定 Boost Hana 提供了很多我设计解决方案所需的工具。
这是一个示例输入文件,
line 1
line 2
line 3
如果我要求 7 行,这就是我想放入变量中的内容(例如,在单个 std::string 中嵌入 '\n's),
line 1
line 2
line 3
line 1
line 2
line 3
line 1
我猜这个函数可以有这样的声明:
std::string function(std::string s, int n);
【问题讨论】:
-
不太清楚你到底要什么。但是您可以使用
std::ifstream和std::getline()循环读取整行的文本文件,直到您想停止读取行。 -
@RemyLebeau,现在清楚了吗?
标签: c++ boost functional-programming lazy-evaluation boost-hana