国产探花免费观看_亚洲丰满少妇自慰呻吟_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進制文件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝鸡市| 保定市| 陵川县| 集贤县| 龙门县| 景德镇市| 农安县| 墨竹工卡县| 页游| 南部县| 阜城县| 荆州市| 塘沽区| 济阳县| 无为县| 仙游县| 安龙县| 观塘区| 临澧县| 英德市| 蓬安县| 镇安县| 龙州县| 神木县| 汾阳市| 呼和浩特市| 德昌县| 天祝| 周口市| 甘孜县| 扶沟县| 诸城市| 天祝| 上饶县| 会宁县| 寻乌县| 五台县| 奈曼旗| 鱼台县| 正安县| 闵行区|