#define AA 0x00000001
#define BB 0x00000002
#define CC 0x00000004现在我从txt文本上提取出一个完整的项 这项的格式是AA BB CC单独或自由组合成的,如AA AA/BB BB/CC等等
“/”是分隔符 AA/BB 表示使用AA的功能和BB功能 AA表示只使用AA的功能 AA/BB/CC表示同时使用三个功能c++中的整型是4位,可以表示32种状态,我想通过AA BB CC的与运算去实现同时表示多种的功能
请问应该如何去做,如何从这个项中把表示相应宏的字符串提取出来
#define BB 0x00000002
#define CC 0x00000004现在我从txt文本上提取出一个完整的项 这项的格式是AA BB CC单独或自由组合成的,如AA AA/BB BB/CC等等
“/”是分隔符 AA/BB 表示使用AA的功能和BB功能 AA表示只使用AA的功能 AA/BB/CC表示同时使用三个功能c++中的整型是4位,可以表示32种状态,我想通过AA BB CC的与运算去实现同时表示多种的功能
请问应该如何去做,如何从这个项中把表示相应宏的字符串提取出来
对,我知道用'|'来运算 但直接提出来的字符串 如AA BB都是字符型的,我如何把它转换成定义的宏
#define HONG(X,Y) \
if(有AA字串)Y|=1;\
if(有BB字串)Y|=2;\
if(有CC字串)Y|=4;
DWORD flag = AA|BB;
SaveToFile(flag);读取的时候直接用整数,例如
DWORD flag = LoadFromFile();
if (flag&AA)
...
if (flag&BB)
...
if (flag&CC)
...