我有如下代码:
char ch[] = "UINT";
DWORD f = 100;
char buf[50] = "";
memset(buf,0,50);
#define TYPE(n) (#n)
// 以下代码希望展开后生成:
// sprintf(buf,"%d",(UINT)f);
sprintf(buf,"%d",(TYPE(ch)f);
AfxMessageBox(buf);*/
但是有问题。关键是怎么把字符串"UINT"展开后写入代码?我的程序的需求是这样的。原始数据的格式是
struct
{
char *type;
union
{
DWORD dw;
LPBYTE lp;
}data;
};
其中type是类似"UINT", "double","char"等VC中变量类型的名称的字符串。而data是实际的数据。现在想把数据仿照上面的代码显示出来。问该怎么办?