我有如下代码:
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是实际的数据。现在想把数据仿照上面的代码显示出来。问该怎么办?
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是实际的数据。现在想把数据仿照上面的代码显示出来。问该怎么办?
解决方案 »
- 关于socket调用send和receive后何时真正发送接收数据!!!
- 服务端刚开始能正常接收、处理客户端的请求,一会后就没反应了,什么信息都没有,客户端正常,什么原因啊?
- 关于异或的送分题目
- 请问在vc里怎么拼接avi文件
- 现在学习C语言哪一种比较好?
- 有一整数,怎么得到对应的年月日
- Find chinese window's title by Findwindow()?
- 在属性页的标签上添加位图
- 如何确定键盘上同时按下了两个健,如shift + UP
- InstallShield中怎样删除快捷方式???
- =100分寒风中裸体跪求:实在是要崩溃了,0x0041d469在0x00000020的内存不能“read”的问题的解决办法,内详?==
- 创建原始套接字失败,是什么原因,10043错误!
if ( _strnicmp( type, "UINT", 4 ) == 0 )
printf( buf, "%ud", dw );
else if ( _strnicmp( type, "double", 6 ) == 0 )
printf( ...