首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

编辑框控件怎么输入输出十六进制数

2012-04-18 
编辑框控件如何输入输出十六进制数使用一个编编辑框控件,如何能实现输入输出十六进制和二进制数据例如输入

编辑框控件如何输入输出十六进制数
使用一个编编辑框控件,如何能实现输入输出十六进制和二进制数据
例如输入0x10ff,会自动识别为十六进制处理,输入10111B,会自动识别为二进制,
同时也可以经过选择,输出以0x开头的十六进制数据或以B结尾的二进制数据。

[解决办法]
如果不想按2楼的做,就这么做:
GetDlgItemText(IDC_EDIT1,m_Text1);
1.先查头两个字符是否是0x,如果是,就去掉0X,然后用:
int a;
a=strtoll(m_Text1,NULL,16);//表示是16进制,m_Text1是去掉0X后的字符
2.如果不是16进制,就查最后一个字符是不是B,如果是B:
a=strtoll(m_Text1,NULL,2);//
strtoll 在 stdlib.h 中
它属于C语言中的标准库函数之一,在 ISO/IEC 9899:1999 第 7.20.1.4 写道:
#include <stdlib.h>

long int strtol(
const char * restrict nptr,
char ** restrict endptr,
int base);
long long int strtoll(
const char * restrict nptr,
char ** restrict endptr,
int base);
unsigned long int strtoul(
const char * restrict nptr,
char ** restrict endptr,
int base);
unsigned long long int strtoull(
const char * restrict nptr,
char ** restrict endptr,
int base);

热点排行