1

我有一个字符串文件,我想通过它创建一个枚举,其值由字符串命名。例如列表是:

"a" "b" "c" "d" ...

我想得到这样的枚举

enum SomeEnum { a, b, c, d };

谢谢。

4

3 回答 3

2

我建议您使用任何流行的脚本语言(perl、python、tcl)并解析文件并生成您喜欢的枚举。

于 2012-06-14T08:26:15.887 回答
2

您可以使用 X-Macros,然后只需将您的枚举/字符串放在myfile.h.

我的文件.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)
};

我的文件.c

#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
于 2012-06-14T09:02:05.963 回答
0

在c中很难将字符串转换为变量

于 2012-06-14T08:27:51.493 回答