国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C/C++ 讀取16進制文件的方法

2020-05-23 13:54:34
字體:
來源:轉載
供稿:網友

1.為什么有這種需求

因為有些情況需要避免出現亂碼。不管什么編碼都是二進制的,這樣表示為16進制就可以啦。

2.如何讀取16進制文件

最近編程用這一問題,網上查了一下,感覺還是自己寫吧。

16進制數據一般是:text=0x340xb5...,就是0x開頭,之后是兩個數字十六進制數。

如果直接使用sscanf(text,"0x",&num),會把連續的數字讀進去直到遇到'x'.

如使用sscanf讀取text第一個讀到的十六進制數是0x340,誤判啦。最后,因為是4個一組,就先把4個存到數組,再讀取吧。看后面的代碼好了。

3.代碼實例:

#include <string.h>#include <stdio.h>int main (){  const char a[]="0x450x110x8b0xe8";  char tmpHex[5];  int num;  printf("the size of pattern:%d/n",sizeof(a));  //4*4+最后有一個'/0'  for(int i=0;i<sizeof(a)-1;i+=4){    strncpy(tmpHex,a+i,4);    tmpHex[4]='/0';    sscanf(tmpHex,"%x",&num);    printf("%s %d/n",tmpHex,num);  }  return 0;}

輸出結果:

c語言讀取16進制文件

以上這篇C/C++ 讀取16進制文件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇康县| 峨眉山市| 西宁市| 汝城县| 达孜县| 长宁区| 永德县| 茶陵县| 漳平市| 前郭尔| 阿拉善左旗| 莱州市| 屏边| 威远县| 祁阳县| 苏州市| 旅游| 达拉特旗| 新竹县| 罗平县| 孙吴县| 中宁县| 阿拉善左旗| 晋城| 九江县| 延边| 佛教| 长岛县| 山东省| 富源县| 宣化县| 乐业县| 兴山县| 阜阳市| 南康市| 安岳县| 平遥县| 安溪县| 田东县| 中山市| 夹江县|