在linux中使用printf("%02x", md5[i]); 能够打印出32位十六进制的数据如:
95d93486b27bfd095120e92f94bf9d2请问怎么才能将打印出的数据存储在字符串中,知道的帮忙解答一下十分感谢...
95d93486b27bfd095120e92f94bf9d2请问怎么才能将打印出的数据存储在字符串中,知道的帮忙解答一下 十分感谢
展开
3个回答
推荐于2016-12-04
展开全部
char str1[33];
char str2[10];
strcpy(str1,"");
for(i=0;i<16;i++)
{
sprintf(str2,"%02x",md5[i]&0x0ff);
strcat(str1,str2);
}
printf("%s",str1);
char str2[10];
strcpy(str1,"");
for(i=0;i<16;i++)
{
sprintf(str2,"%02x",md5[i]&0x0ff);
strcat(str1,str2);
}
printf("%s",str1);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要看md5[i] 是什么类型
char 用 printf("%02x", (unsigned int)(md5[i]))
int16 用 printf("%04x", (unsigned int)md5[i])
int32 用 printf("%08x", md5[i])
char 用 printf("%02x", (unsigned int)(md5[i]))
int16 用 printf("%04x", (unsigned int)md5[i])
int32 用 printf("%08x", md5[i])
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sprintf(buff, "%02x", md5[i]);
buff为字符串数组
buff为字符串数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询