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

字符串转换,该如何解决

2012-03-28 
字符串转换把www.hao123.com 转换成\x77\x77\x77\x06\x68\x61\x6f\x31\x32\x33\x03\x63\x6f\x6d这种形式有

字符串转换
把www.hao123.com 转换成\x77\x77\x77\x06\x68\x61\x6f\x31\x32\x33\x03\x63\x6f\x6d 这种形式有没有直接转换的函数,帮忙写一下,3Q

[解决办法]
不明白为什么第一个.对应\x06,第二个.对应\x03
[解决办法]
char dest[20] = {0};
sprintf(dest, "\\x%02x", 'w');
单字符时,自己可以遍历下。


[解决办法]

探讨

不明白为什么第一个.对应\x06,第二个.对应\x03

[解决办法]
我晕,楼主的头像是司马在放大 吧
[解决办法]
我靠 不就是内存数据吗 too simple , even naive

呶,给你个函数 自己玩吧 A版的哦
C/C++ code
void StrToHexA( const CStringA strSrc ,CStringA &strHex){    int ilength = strSrc.GetLength();    char *p = new char[4*ilength+1];    if (!p)    {        assert("not enough memory!");        return;    }    memset(p,0,4*ilength+1);    char *pTemp = p;    for (int i=0;i<ilength;++i)    {        char c = strSrc.GetAt(i);        *pTemp = '\';        *(pTemp+1) = 'x';        *(pTemp+2) = hexVals[(c&0xf0)>>4];        *(pTemp+3) = hexVals[(c&0x0f)];        pTemp +=4;    }    *(p+4*ilength)='\0';    CStringA strTemp(p);    strHex = strTemp;    delete[] p;}
[解决办法]
少了一句定义
C/C++ code
char hexVals[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; 

热点排行