专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VC

VC++中的字符串操作,该如何处理

发布时间:2011-06-23 14:14:34 文章来源:www.iduyao.cn 采编人员:星星草
VC++中的字符串操作
需求:

现有1CSting类型的变量,定义为Csting m_str,有1个char组,定义为char ShowMe[256],另,在showme中,showme[0]=0xf8,showme[1]=0x03,而m_str = “192.168.1.12”,现在需要做的事情就是,将m_str的每一位转换成它的ASCII码,并且存到showme里面,在存的时候,需要在字符的ASCII码前面加上0X,数组的结尾用0x0A表示:

例如:m_str = "0",那么showme应该为:showme[4] = {0XF8,0X03,0X30,0X0A}

  m_str = "00",那么showme应该为:showme[5] = {0XF8,0X03,0X30,0X30,0X0A}

  m_str = "01",那么showme 应该为:showme[5] = {0XF8,0X03,0X30,0X31,0X0A}

求高手指点详细代码!!!

------解决方案--------------------
先写'{',再用sprintf逐个字符输出,格式字符串用"0X%02X,",把最后一个','改成'}'。
------解决方案--------------------
sprintf(ShowMe+i,"0x%02X",*p++);
这句少了个逗号,i自增也得改下,改成:
C/C++ code
char *p=m_str;
ShowMe[0]='{';
int i=1;
while(*p)
{
sprintf(ShowMe+i,"0x%02X,",*p++);
i+=5;
}
ShowMe[i-1]='}';
ShowMe[i]=0;

------解决方案--------------------
char *p=m_str;
ShowMe[0]='{';
int i=1;
while(*p)
{
sprintf(ShowMe+i,"0x%02X,",*p++);
i+=5;
}
ShowMe[i-1]='}';
ShowMe[i]=0;

------解决方案--------------------
先请问 您的CString是unicode还是多字节字符集?
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: