char数组转为字符串

来源:互联网 发布:少女前线g36c数据 编辑:程序博客网 时间:2024/05/18 00:34
//C语言:如何将无符号char数组转为字符串unsigned char src[6] = {0x12, 0x32,0x56,0x78,0x90,0xab},如何转为:char[12] = {"1232567890ab"}?int main(){    unsigned char src[6] = {0x12, 0x32,0x56,0x78,0x90,0xab};    char buffer[20];//维数定义大些    for(int i=0;i<6;i++)    sprintf( buffer+i*2,"%x",src[i]);//格式化输出到buffer,每个unsigned char 转换为字符后占两个位置,%x小写输出,%X大写输出    printf("%s\n",buffer);    return 0;}/*追问非常感谢,学习了!可否再请教下,如果要转成“2121658709ba”,有没有比较方便的方法?追答*/unsigned char src[6] = {0x12, 0x32,0x56,0x78,0x90,0xab};char buffer[20];//维数定义大些char buffer1[20]={'\0'};    for(int i=0;i<6;i++)    {        sprintf( buffer+i*2,"%x",src[i]);//格式化输出到buffer,每个unsigned char 转换为字符后占两个位置,%x小写输出,%X大写输出        buffer1[i*2]=*(buffer+i*2+1);//处理字符,倒序        buffer1[i*2+1]=*(buffer+i*2);    }/*其他回答不对吧 你那个src数组超过下标了追问*/char dst[13] = {"1232567890ab"}……/*兄弟你很细心啊。。追答。。。。。你超了我咋弄 下边那个是对的 采纳下边那个吧*/
0 0