社区
C语言
帖子详情
怎样把char*类型变量值,转换成用16进制数来表示的字符串?
dracoo
2004-01-06 01:51:01
比如:char* symbol[0]=0x1b
symbol[1]=0xaf
symbol[2]=0x0f
...
希望将symbol值转换得到一个“1BAF0F...”的字符串。
...全文
376
9
打赏
收藏
怎样把char*类型变量值,转换成用16进制数来表示的字符串?
比如:char* symbol[0]=0x1b symbol[1]=0xaf symbol[2]=0x0f ... 希望将symbol值转换得到一个“1BAF0F...”的字符串。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dracoo
2004-01-06
打赏
举报
回复
不好意思,有笔误
int mStrHex( unsigned char *buf, unsigned char *org )
{
int v;
char sym[16]="0123456789ABCDEF";
if( buf == NULL || org == NULL ) {
return 0;
}
while( *org != 0 ) {
v = *org>>4;
*buf = sym[v];
buf += 1;
v = *org & 0x0f;
*buf = sym[v];
buf += 1;
org += 1
}
return 1;
}
grooving
2004-01-06
打赏
举报
回复
sprintf函数!
dracoo
2004-01-06
打赏
举报
回复
我自己解决了。
int mStrHex( unsigned char *buf, unsigned char *org )
{
int v;
char sym[16]="0123456789ABCDEF";
if( buf == NULL || org == NULL ) {
return 0;
}
while( *org != 0 ) {
v = *org>>4;
*mov = sym[v];
mov += 1;
v = *org & 0x0f;
*mov = sym[v];
mov += 1;
org += 1
}
return 1;
}
skywarship
2004-01-06
打赏
举报
回复
to zhangfjj(小张)
没看清楚吧 ^_^ ,我写的是strlen, not sizeof
zhangfjj
2004-01-06
打赏
举报
回复
char * symbol;
symbol[0]=0x1b;
symbol[1]=0xaf;
symbol[2]=0x0f;
....
是这个意思吧。那么:
char *buff;
buff=(char *)malloc(strlen(symbol));//这只能获取指针的大小吧?
sprintf(buff, "%02x%02x.....", symbol[0]&0xff, symbol[1]&0xff,...);
记得初始化symbol时要在最后加上'\0'
dsao
2004-01-06
打赏
举报
回复
itoa(dest, src, 16); or _itoa(dest, src, 16);
skywarship
2004-01-06
打赏
举报
回复
char * symbol;
symbol[0]=0x1b;
symbol[1]=0xaf;
symbol[2]=0x0f;
....
是这个意思吧。那么:
char *buff;
buff=(char *)malloc(strlen(symbol));
sprintf(buff, "%02x%02x.....", symbol[0]&0xff, symbol[1]&0xff,...);
记得初始化symbol时要在最后加上'\0'
zhangfjj
2004-01-06
打赏
举报
回复
char* symbol[0]=0x1b
symbol[1]=0xaf
symbol[2]=0x0f
...
-------------------------看不懂你定义的是什么?
victor_cui
2004-01-06
打赏
举报
回复
char buff[1024];
sprintf(buff, "%02X%02X.....", symbol[0], symbol[1],...);
当然在实际应用中需要你自己扩展上面的实现
基于GEC6818平台的五子棋人机对战系统设计与实现
五子棋作为一种广为人知的策略性棋盘游戏,其基本规则易于掌握。在选定人机对战模式后,由程序执黑先行,用户执白应对。双方依次在棋盘上落子,任何一方在横向、纵向或斜向形成连续五个或更多同色棋子即获胜。 项目资源涵盖多个技术领域的程序代码,涉及前后端开发、移动终端应用、操作系统、智能系统、物联网技术、信息管理系统、数据存储方案、硬件设计、大数据处理、教学资料、多媒体处理及网站构建等多个方向。具体技术实例包括嵌入式平台如STM32与ESP8266,编程语言如PHP、QT、C++、Java、Python、C#,系统开发如Linux与iOS,以及电子设计自动化工具和实时操作系统等。 主要技术栈包含服务端开发语言Java、Python及Node.js,后端框架Spring Boot与Django,前端技术React、Angular与Vue,界面设计框架Bootstrap与Material-UI,数据库系统MySQL、PostgreSQL和MongoDB,缓存工具Redis,以及容器化部署方案Docker与Kubernetes。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
lv_0_20251125195629.mp4
lv_0_20251125195629.mp4
numpy、pandas、sklearn、pytorch等数据分析工具的一些使用技巧
NumPy数组操作实战技巧 numpy、pandas、sklearn、pytorch等数据分析工具的一些使用技巧
中国Cassandra数据库用户组开源社区项目-专注于Apache-Cassandra分布式NoSQL数据库技术研究与实践-提供技术文档下载与源码解析-集成Titan图数据库与Lu.zip
Buffer内存管理实战技巧中国Cassandra数据库用户组开源社区项目_专注于Apache_Cassandra分布式NoSQL数据库技术研究与实践_提供技术文档下载与源码解析_集成Titan图数据库与Lu.zip中国Cassandra数据库用户组开源社区项目_专注于Apache_Cassandra分布式NoSQL数据库技术研究与实践_提供技术文档下载与源码解析_集成Titan图数据库与Lu.zip
图像处理基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)内容概要:本文研究基于电磁学优化算法(Electromagnetism-like Optimization, EMO)的多阈值图像分割方法,并通过Matlab代码实现。该方法借鉴电磁学中电荷间相互作用的机制,将图像分割问题转化为优化问题,利用EMO算法搜索最优阈值组合,以最大化分割效果的评价指标(如Otsu法或多级别熵)。文中详细介绍了EMO算法的基本原理、实现步骤及其在图像多阈值分割中的具体应用流程,展示了该算法能够有效避免传统方法易陷入局部最优的问题,从而获得更精确的分割结果。; 适合人群:具备图像处理基础知识和Matlab编程能力的高校学生、科研人员及工程技术人员。; 使用场景及目标:①解决复杂背景下图像的多目标分割问题,提升医学影像、遥感图像等领域的分割精度;②学习智能优化算法(如EMO)在图像处理中的实际应用,为研究新型分割算法提供技术参考和实现范例。; 阅读建议:在学习过程中应结合Matlab代码,深入理解EMO算法的寻优机制与图像分割评价函数的构建方法,建议自行调试不同参数对分割效果的影响,以加深对算法性能的理解。
C语言
70,037
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章