【发布时间】:2014-09-02 02:42:59
【问题描述】:
我正在处理这个项目,我需要解析一个文本文件,该文件包含一个由左侧名称和右侧值组成的两列表。
现在,我需要将它们写入控制表中的特定位置,这些位置使用十六进制地址进行标识;在我无法编辑的头文件中,它们已被定义为:
#define HARRY_POTTER 0x3A
然后有一个写入函数,它接受一个地址和一个值并将其写入一个存储位置(这个函数也是我无法控制的)。所以,调用这个
write(0x3A, 7);
与调用它的结果相同
write(HARRY_POTTER, 7);
由于头文件中的定义。
现在,我已经完成了解析,它基本上给了我左列,名称,作为一个字符串(例如,“HARRY_POTTER”),右列,值,作为一个整数。
我想知道是否有任何方法可以使用这个字符串“HARRY_POTTER”作为写入函数中的标识符;本质上是将字符串转换为标识符,这样我就可以遍历整个解析值数组,它会自动将它们写入与字符串匹配的地址/左列中的名称。
这可能吗?如果是,怎么做?
【问题讨论】:
-
你被介绍给
std::map了吗?
标签: c++ string c-preprocessor identifier