我有一个字符串文件,我想通过它创建一个枚举,其值由字符串命名。例如列表是:
"a" "b" "c" "d" ...
我想得到这样的枚举
enum SomeEnum { a, b, c, d };
谢谢。
我建议您使用任何流行的脚本语言(perl、python、tcl)并解析文件并生成您喜欢的枚举。
您可以使用 X-Macros,然后只需将您的枚举/字符串放在myfile.h
.
#ifndef ENUM_CONVERT
#define ENUM_CONVERT(val) val
#define ENUM_HEADER enum SomeEnum
#endif
ENUM_HEADER
{
ENUM_CONVERT(a),
ENUM_CONVERT(b),
ENUM_CONVERT(c),
ENUM_CONVERT(d)
};
#include "myFile.h" // This declares the enum
#define MKSTR(a) #a
#define ENUM_CONVERT(val) MKSTR(val)
#define ENUM_HEADER char *myStrList[]=
#include "myFile.h" // This defines the stringList
在c中很难将字符串转换为变量