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

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

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

2020-01-26 14:19:31
字體:
來源:轉載
供稿:網友

1.為什么有這種需求

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

2.如何讀取16進制文件

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

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

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

如使用sscanf讀取text第一個讀到的十六進制數是0x340,誤判啦。最后,因為是4個一組,就先把4個存到數組,再讀取吧??春竺娴拇a好了。

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/C++ 讀取16進制文件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜春市| 买车| 泉州市| 合川市| 高密市| 怀安县| 靖江市| 井陉县| 石景山区| 长乐市| 密云县| 二连浩特市| 商城县| 名山县| 柳江县| 丰城市| 大石桥市| 安徽省| 阿合奇县| 云林县| 依兰县| 威宁| 雷山县| 阜平县| 孟津县| 武威市| 罗山县| 南漳县| 潮州市| 康乐县| 长白| 措勤县| 景宁| 攀枝花市| 湟源县| 静乐县| 博兴县| 淳化县| 兰西县| 宾川县| 姜堰市|