C语言字符串转为16进制字符串
char*str="我们";现在想把“我们”对应的十六进制赋值给一个字符串,比如“我们”转换完后是"CED2C3C7"我想要的结果就是res="CED2C3C7";怎么转...
char* str = "我们";
现在想把“我们”对应的十六进制赋值给一个字符串,比如“我们”转换完后是"CE D2 C3 C7"
我想要的结果就是res = "CE D2 C3 C7";
怎么转换,谢谢了
这样我可以,但是怎么才能把结果保存到一个字符串中呢 展开
现在想把“我们”对应的十六进制赋值给一个字符串,比如“我们”转换完后是"CE D2 C3 C7"
我想要的结果就是res = "CE D2 C3 C7";
怎么转换,谢谢了
这样我可以,但是怎么才能把结果保存到一个字符串中呢 展开
5个回答
展开全部
/*
我们正在组建局域网
CE D2 C3 C7 D5 FD D4 DA D7 E9 BD A8 BE D6 D3 F2 CD F8
Press any key to continue
*/
#include <stdio.h>
#include <string.h>
char *Change(char *t,char *s) {
char i,chs;
for(i = 0; s[i]; ++i) {
chs = s[i] & 0X0F;
t[3 * i + 2] = ' ';
if(chs > 9) t[3 * i + 1] = chs - 10 + 'A';
else t[3 * i + 1] = chs + '0';
chs = (s[i] & 0XF0) >> 4;
if(chs > 9) t[3 * i] = chs - 10 + 'A';
else t[3 * i] = chs + '0';
}
t[3 * i] = '\0';
return t;
}
int main() {
char *s = "我们正在组建局域网",t[60]; //
printf("%s\n",s);
printf("%s\n",Change(t,s));
return 0;
}
展开全部
char* str = "我们";
char t[20];
sprintf(t, "%X %X %X %X\n", str[0]&0xff,str[1]&0xff,str[2]&0xff,str[3]&0xff);
追答
#include <stdio.h>
int main()
{
int i;
char* str = "我们的爱";
char res[100];
for (i = 0; i < strlen(str); i++)
{
sprintf(res + 3*i, "%02X ", (unsigned char)str[i]);
}
res[3*i - 1] = '\0';
// res 就是你要的结果:
printf("[%s]\n", res);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char*t;
for(j=0;j<=i;j++)
t[j]=chj[i];
printf("%0X",t);
for(j=0;j<=i;j++)
t[j]=chj[i];
printf("%0X",t);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main()
{
char* str = "我们";
printf("%X %X %X %X\n",str[0]&0xff,str[1]&0xff,str[2]&0xff,str[3]&0xff);
}
void main()
{
char* str = "我们";
printf("%X %X %X %X\n",str[0]&0xff,str[1]&0xff,str[2]&0xff,str[3]&0xff);
}
追问
我知道printf可以,但是我不是要输出,我要保存到一个变量中
追答
char* str = "我们";
char res[256];
sprintf(res,"%X %X %X %X\n",str[0]&0xff,str[1]&0xff,str[2]&0xff,str[3]&0xff);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询