1.为什么有这种需求

  因为有些情况需要避免出现乱码。不管什么编码都是二进制的,这样表示为16进制就可以啦。

2.如何读取16进制文件

  最近编程用这一问题,网上查了一下,感觉还是自己写吧。

  16进制数据一般是:text=0x340xb5...,就是0x开头,之后是两个数字十六进制数。

  如果直接使用sscanf(text,"0x",&num),会把连续的数字读进去直到遇到'x'.

  如使用sscanf读取text第一个读到的十六进制数是0x340,误判啦。最后,因为是4个一组,就先把4个存到数组,再读取吧。看后面的代码好了。

3.代码实例:

 1 #include <string.h>
 2 #include <stdio.h>
 3
 4 int main ()
 5 {
 6     const char a[]="0x450x110x8b0xe8";
 7     char tmpHex[5];
 8     int num;
 9     printf("the size of pattern:%d\n",sizeof(a));   //4*4+最后有一个'\0'
10     for(int i=0;i<sizeof(a)-1;i+=4){
11         strncpy(tmpHex,a+i,4);
12         tmpHex[4]='\0';
13         sscanf(tmpHex,"%x",&num);
14         printf("%s %d\n",tmpHex,num);
15     }
16     return 0;
17 }

输出结果:

C/C++ 读取16进制文件相关推荐

  1. DELPHI 内存流修改16进制文件, 文件太大时候OutofMemory的问题研究

    DELPHI 内存流修改16进制文件, 文件太大时候OutofMemory的问题研究 问题描述: 需要用内存流打开一个300M大小的文件, 替换文件中固定长度的16进制编码为另一条编码 原始思路 1. ...

  2. notepad++查看16进制文件

    notepad++软件在查看代码的时候很方便,但是想查看16进制格式的文件时,默认打开是乱码.下面就演示一下如何给notapad++安装HEX插件,安装好插件之后,就可以直接查看16进制文件了. He ...

  3. Python 直接读取 16进制 8进制 整数

    Python 直接读取 16进制 8进制 整数 16进制 8进制 检测 16进制 k=int(input("k="),16) 8进制 p=int(input("p=&qu ...

  4. 用vi在linux下查看16进制文件

    在vi的命令状态下 : :%!xxd --将当前文本转换为16进制格式. :%!od --将当前文本转换为16进制格式. :%!xxd -c 12--将当前文本转换为16进制格式,并每行显示12个字节 ...

  5. 自制操作系统-使用16进制文件显示 hello world

    1.下载qemu: https://www.cnblogs.com/sea-stream/p/10849382.html 2.制作软盘镜像 使用010editor,新建文件 图2 另保存为cherry ...

  6. 将图像转换为16进制文件

    在做图像处理时,有时需要将一张已有的图像写入到程序中.这时linux命令xxd可以完成这个需求. 注: win10可使用ubuntu子系统来使用linux命令,非常方便 xxd -i logo.bmp ...

  7. PNG文件16进制详解

    详解PNG图片的16进制文件 1.概述 2.特性 3.文件结构 3.1.文件署名域 3.2.数据块 3.2.1.关键数据块 3.2.2辅助数据块 4.举例说明 ==前八字节分类表== ==关键数据块. ...

  8. C/C++ printf 输入16进制文本数据 多出许多ffffff的问题

    问题描述:在编程过程中遇见一需求,需要从一文件中读取16进制格式的数据(格式如下图1所示),存储在内存中(char buf [MAX_SIZE]).然而,在测试读取的数据时,用printf(" ...

  9. 一款超方便超强大的16进制编辑器软件-HxD

    今天给大家介绍一款查看和操作16进制文件的软件,这款软件就是HxD.  这款软件有很多功能,如下: (1)16进制查看及各种进制转换(2进制.10进制.8进制),如上图显示,非常方便: (2)16进制 ...

最新文章

  1. 11kw星三角启动延时几秒_电机星三角降压启动接线方法图解
  2. 【视频课】零基础免费38课时深度学习+超60小时CV核心算法+15大Pytorch CV实践案例助你攻略CV...
  3. 修改目录标题层级_关键词所在页面的层级越高权重越大
  4. android之隐藏状态栏、图标、布局
  5. C#实现四舍五入和JavaScript实现四舍五入
  6. linux运行tomcat常见问题,linux – tomcat运行,但是8080端口没有响应
  7. 即时通讯IM的安全性比较
  8. 推荐一款国产免费开源的ERP进销存系统 附带安装详细教程
  9. QCC3040一拖二发射器(aptXLL)replace CSR8670
  10. 以生活中的例子快速理解十个设计模式
  11. 移动彩信MM7 API JAVA 样例
  12. 简单局域网聊天室--Java版
  13. !function(){}() 什么意思
  14. Kali Linux蓝牙连接问题解决
  15. 复旦大学计算机学院教师简介,复旦大学计算机科学技术学院导师教师师资介绍简介-危辉...
  16. C# Spire.XLS 无限制 使用教程
  17. OpenGL ES glfw 下载和使用
  18. HTTP 最强资料大全
  19. Python安装Tensorflow因为版本低而出现的错误提示conda activate tensorflow-cpu Could not find conda environment: tenso
  20. FireFoxPortable升级3.5手记

热门文章

  1. MIP开发常见问题解答
  2. 在php里让字体划过变色,鼠标划过字体时如何用css来实现字体变色?(代码实测)...
  3. 全国计算机等级考试题库二级C操作题100套(第56套)
  4. java生成pdf加密_java使用iText 生成PDF全攻略(表格,加密)
  5. dubbo的invoke命令_dubbo 调试服务telnet命令
  6. 学习笔记~~~~~Set接口实现
  7. SpringCloud主要组件
  8. 福禄克网络电缆测试仪LinkIQ网络电缆测试仪的使用方法
  9. MIUI 13:带来全新小部件,新增三大隐私保护功能等
  10. WebSocket基础知识笔记