一串16进制数怎么转换为字符串

mine3396 2010-04-22 11:21:29
例如 char a[12]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,}
转换为字符串 "0102030405060708090a0b0c"
...全文
181 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2010-04-22
  • 打赏
  • 举报
回复
char a[12]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,}
char buf[25];
buf[0]=0;
for(int i = 0 ; i<12;i++)
{
sprintf(buf,"%s%02x" ,buf ,a[i]) ;
}
Jim_King_2000 2010-04-22
  • 打赏
  • 举报
回复

#include <string>
#include <iostream>
#include <functional>
#include <algorithm>

using namespace std;

class PrintHex : public unary_function<char, void>
{
public:
explicit PrintHex(string &str) : str_(str) {}

result_type operator()(argument_type x)
{
str_.append(1, HexStr[((x & 0xf0) >> 4)]);
str_.append(1, HexStr[(x & 0x0f)]);
}

private:
string &str_;
static const char HexStr[];
};

const char PrintHex::HexStr[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};

#define ARRAY_SIZE(X) (sizeof(X)/sizeof(X[0]))

int main(int argc, char* argv[])
{
string str;
char a[12] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c};
for_each(a, a + ARRAY_SIZE(a), PrintHex(str));
cout << str << "\n";
return 0;
}

编程-鸟人-_-- 2010-04-22
  • 打赏
  • 举报
回复
sprintf();
如果是MFC下,可以用CString::Format();
pengzhixi 2010-04-22
  • 打赏
  • 举报
回复
sprintf就不错
Shrek_MyCpp 2010-04-22
  • 打赏
  • 举报
回复

char a[12]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c};
char sz[200] = {0};
for (int i = 0; i < 12; ++ i)
{
sprintf(sz + 2*i, "%02x", a[i]);
}
Vector_fz 2010-04-22
  • 打赏
  • 举报
回复
char a[12]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,}
char buf[32]={0} ;
char tmp[4] ={0} ;
for(int i = 0 ; i<12;i++)
{
sprintf(temp,"%02x" ,a[i]) ;
strcat(buf,tmp) ;
}
嘎文 2010-04-22
  • 打赏
  • 举报
回复
使用sprintf函数,好久没用了,你查一下用法吧

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧