
关于 VC++ MFC中字符串转换问题
我在一个数组中存放了16进制数,比如0xEA;我用format函数将其转换为CString类型的,但是有个问题,比如数组里存放的是0x0A,0x05。转换完为A和5,但我...
我在一个数组中存放了16进制数, 比如 0xEA;我用format函数将其转换为CString类型的,但是有个问题,比如数组里存放的是 0x0A,0x05。转换完为A 和 5 ,但我想要的是转换后为0A,05,如何实现啊?还有个问题,我将这些转换后的字符串要在richedit显示出来,但是发现大写的字母和数字所占的空间是不一样的,如何能让每个字符所占的空间一样大呢?
还有个问题,RichEdit这样的控件我设置了多行显示加竖的滚动条,如何能让他自动换行的,就比如像我现在打字的这个框框,到边界的时候会自己换行到下一行,不用我自己拟定数量。需要在哪里设置一下? 展开
还有个问题,RichEdit这样的控件我设置了多行显示加竖的滚动条,如何能让他自动换行的,就比如像我现在打字的这个框框,到边界的时候会自己换行到下一行,不用我自己拟定数量。需要在哪里设置一下? 展开
2个回答
展开全部
(1)
int data[ ] = {0x0a, 0x05, 0x3a};
CString str;
str.Format("%02x %02x, %02x", data[0], data[1], data[2]);//str得到:"0a 05 3a"
解析:%02x,其中x表示以十六进制显示,2表示显示占多少位,0表示不足的位补0。
又如str.Format("%03x",data[0]);将得到003
(2)RichEdit自动换行:出了设置多行显示外,还要将RichEdit的Styles→Auto HScroll属性去掉
int data[ ] = {0x0a, 0x05, 0x3a};
CString str;
str.Format("%02x %02x, %02x", data[0], data[1], data[2]);//str得到:"0a 05 3a"
解析:%02x,其中x表示以十六进制显示,2表示显示占多少位,0表示不足的位补0。
又如str.Format("%03x",data[0]);将得到003
(2)RichEdit自动换行:出了设置多行显示外,还要将RichEdit的Styles→Auto HScroll属性去掉
追问
谢谢,你知道字符串它显示在EDIT上的时候貌似字母和数据不一样宽的,有什么办法让它们都统一起来,这样看着比较整齐。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询