Предлагает ли C ++ 17 какой-либо способ загрузки / чтения файла во время компиляции? Более конкретно, я хочу загрузить содержимое файла в const char*
или std::string_view
и т. Д. Например:
constexpr const char* read_file_content(const char* file_path) {
/* should read in the content of the file and return it */
return "";
}
constexpr const char* file_path = "some/folder/file.json";
constexpr const char* file_content = read_file_content(file_path);
Я сталкивался с таким ответом Возможно ли прочитать файл во время компиляции? от 2014 года. Решение teivaz отлично работает, используя некоторый макрос & #include
магия. Однако для этого требуется изменить входной файл: файл должен содержать свое содержимое в STR (...) , что не всегда возможно.
Поскольку приведенный выше ответ довольно старый, я подумал, что, возможно, все изменилось, и, возможно, C ++ 17 (или, возможно, C ++ 20) предлагает некоторые функциональные возможности для преодоления этой проблемы.