我正在实现一些基于CSV文件的编译时检查,并且我试图以一种有点不规范的方式加载它:
constexpr std::variant<int, const char*> test[] = {
#include "data.csv"
};
其中 "data.csv" 是:
"a","b","c"
1,"xyz",1
2,"abc",0
3,"def",1
很明显,每行末尾缺少逗号。是否有一种方法可以使用C ++(甚至Boost)预处理器在每行末尾添加逗号?
我知道我可以在每行末尾添加某些标记,然后用#define
替换它,但出于清晰起见,我想避免这样做。能否用#define
替换\n
字符?
constexpr
函数拼凑出一些东西?将整个文件data.csv
作为单个字符串。字符串标记的开头和结尾必须在data.csv
中。 - Sebastian