【发布时间】:2020-08-20 17:59:24
【问题描述】:
Google 充满了 C 风格的答案。我正在寻找 std::string 方法来完成这项任务
【问题讨论】:
-
你还不能在 C++ 编译时读取文件。
-
@cigien 但我在这里看到了stackoverflow.com/questions/19638557/… 的答案,它说 C++ 可以使用预处理器来做到这一点,但我不确定如何。答案作者是 James Kanze。
-
即使您预处理文件并将结果放入
std::string foo = "file content";中,您也无法生成fooconstexpr,因为这仅允许用于文字类型。 -
为什么需要这个?您需要解决的实际问题是什么?
-
您可以创建一个对象,其类构造函数在运行时读取您的文件,然后 main() 中的任何代码运行。您可以 #include 具有带引号的字符串常量的文件来初始化字符串变量,如 MACRO、全局或静态全局变量。您可以挂起一个脚本,将您的文件与包装代码一起写入一个命名管道,该管道看起来像一个包含文件,您可以将其#include。但除此之外,编译器不会读取其他文件,只会读取每个 c/c++ 源文件及其#include。