您的位置:首页 > 编程语言 > C语言/C++

C++实现十六进制表示字符串

2016-10-25 09:53 316 查看
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;

char* strToHexArray(const char*input)
{
static char out[1024]={0};
strcat(out,"char out[]={");
for(int i=0;i<strlen(input);i++)
{
char str[64]={0};
sprintf(str, "0x%x,", input[i]); //将100转为16进制表示的字符串。
//cout<<str<<endl;
strcat(out,str);
}
int len=strlen(out);
out[len-1]=0;
strcat(out,"};");
//strncpy(out,out,len-1);
return out;

}

int main()
{
char* output=strToHexArray("yunshouhu");

cout<<output<<endl;

char out[]={0x79,0x75,0x6e,0x73,0x68,0x6f,0x75,0x68,0x75};
cout<<out<<endl;
int ret=strcmp(out,"yunshouhu");
cout<<ret<<endl;

return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;

int strToHexArray(const char*input,char* out)
{
strcat(out,"char out[]={");
for(int i=0;i<strlen(input);i++)
{
char str[64]={0};
sprintf(str, "0x%x,", input[i]); //将100转为16进制表示的字符串。
//cout<<str<<endl;
strcat(out,str);
}
int len=strlen(out);
out[len-1]=0;
strcat(out,",0x0};");
//strncpy(out,out,len-1);
return 0;

}

int main()
{
char output[1024]={0};
strToHexArray("yunshouhu",output);

cout<<output<<endl;

char out[]={0x79,0x75,0x6e,0x73,0x68,0x6f,0x75,0x68,0x75,0x0};
cout<<out<<",len="<<strlen(out)<<endl;
int ret=strcmp(out,"yunshouhu");
cout<<ret<<endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: