如何获取编辑框控件CEdit中以0x开头的十六进制数

lonsword 2009-12-09 05:21:16
编辑一个程序,在编辑框控件CEdit中输入以0x开头的十六进制数,在程序中怎么得到这个十六进制数的十进制数,用GetDlgItemInt得到的是零,先谢谢了
...全文
314 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQ_456 2010-03-10
  • 打赏
  • 举报
回复
eeeeeerrrrrrrrrrrrrrrr
lonsword 2009-12-10
  • 打赏
  • 举报
回复
谢谢了,问题解决了
mmilmf 2009-12-10
  • 打赏
  • 举报
回复
给CEdit的控件关联一个CString的变量.m_strEdit ;

UpdateData();
int nValude = 0;
sscanf(m_strEdit,"%x",&nValude);

CString s;
s.Format("%d",nValude);
MessageBox(s); //显示输入值对应的10进制


也可以使用GetWindowText()或者GetDlgItemText()等函数获取CEdit控件中的值
lonsword 2009-12-09
  • 打赏
  • 举报
回复
用GetDlgItemText获取字符?然后自己编写对得到的字符转换数字的程序
怪了用GetDlgItemText(IDC_EDIT_REQCODE)可以为什么用GetDlgItemText(IDC_EDIT_REQCODE)就有错
还有没有简单点的,可以直接获得CEdit中的以0x开头的十六进制数字
  • 打赏
  • 举报
回复
先获得字符串,然后用sscanf
参考
int main()
{
int n;
sscanf( "0x123456" , "%x" , &n );
printf("%d\t%x\n", n ,n );
return 0;
}
ziplj 2009-12-09
  • 打赏
  • 举报
回复
获取字符串
因为0x12345678 中间有个x 所以GetDlgItemInt就截断了
利用字符串 然后自己写解析算法

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧