国产探花免费观看_亚洲丰满少妇自慰呻吟_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武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邹平县| 赫章县| 宁强县| 南汇区| 梅河口市| 高青县| 呼伦贝尔市| 同江市| 古丈县| 焉耆| 绥棱县| 台南市| 上虞市| 洱源县| 富民县| 聂荣县| 新和县| 田东县| 仙游县| 南和县| 延川县| 蒙城县| 阿鲁科尔沁旗| 宜君县| 本溪市| 津市市| 江华| 五河县| 长汀县| 邵武市| 大丰市| 光泽县| 上栗县| 普兰店市| 墨玉县| 务川| 长治县| 湘阴县| 茌平县| 蓬溪县| 祁连县|