EVC 中char[]转换为unsigned short

mfxbb   2008-4-27 14:23 楼主
如何将char[]转换为unsigned short,例如,我在Edit中写了一个10进制的数,通过转换为16进制的,然后附给一个unsigned short变量。如何做?
char buffer[80];
uint Temp;
sprintf(buffer, "%x", M_Edit1);
Temp = buffer;?????// 这里该如何将得到的16进制数给Temp呢?如0x10(16进制)

回复评论 (5)

你用的是MFC?怎么不直接将edit内的值设为UINT啊,ctr+w进入MFC ClassWizard,点击Member Variables属性页
,选中IDC_EDIT,点击Add variable,在Variable type里直接选择UINT,如果要把它表示成0x00类型的话,
用TCHAR存储算了,如
     TCHAR buf[16] = L"\0";
     swprintf(buf,L"0x%x",m_uIntEdit);//假设Edit关联的变量叫m_uIntEdit
点赞  2008-4-27 19:34
unsigned short是一个无符号的数字啊!才16位
在eVC下只有关联到short ,你可以先关联到UINT,然后在做判断例如大于65535怎么办

对于16进制或者10进制,对程序员而言都一样的啊,这跟进制有什么关系呢? 只是在显示的时候处理处理就OK了
点赞  2008-4-28 08:25
int
uint
long
等数值保存的都是10进制的

其他进制的只是在转换为字符串时使用

Edit中写了一个10进制的数直接取到string中,转换成int/uint, 都是10进制的。
然后你又要显示的话,再转换成需要的进制
点赞  2008-4-28 10:09
以后需再关注,现在先帮你顶一下
点赞  2008-5-1 00:04
lz要干嘛?
点赞  2008-5-1 16:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复