欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C/C++ 讀取16進(jìn)制文件的方法

 更新時(shí)間:2016年12月29日 09:36:41   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇C/C++ 讀取16進(jìn)制文件的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1.為什么有這種需求

因?yàn)橛行┣闆r需要避免出現(xiàn)亂碼。不管什么編碼都是二進(jìn)制的,這樣表示為16進(jìn)制就可以啦。

2.如何讀取16進(jìn)制文件

最近編程用這一問(wèn)題,網(wǎng)上查了一下,感覺(jué)還是自己寫吧。

16進(jìn)制數(shù)據(jù)一般是:text=0x340xb5...,就是0x開(kāi)頭,之后是兩個(gè)數(shù)字十六進(jìn)制數(shù)。

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

如使用sscanf讀取text第一個(gè)讀到的十六進(jìn)制數(shù)是0x340,誤判啦。最后,因?yàn)槭?個(gè)一組,就先把4個(gè)存到數(shù)組,再讀取吧??春竺娴拇a好了。

3.代碼實(shí)例:

#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+最后有一個(gè)'\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;
}

輸出結(jié)果:

以上這篇C/C++ 讀取16進(jìn)制文件的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++ OpenCV實(shí)戰(zhàn)之文檔照片轉(zhuǎn)換成掃描文件

    C++ OpenCV實(shí)戰(zhàn)之文檔照片轉(zhuǎn)換成掃描文件

    這篇文章主要為大家介紹一個(gè)C++?OpenCV的實(shí)戰(zhàn)——文檔照片轉(zhuǎn)換成掃描文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • 解析如何用指針實(shí)現(xiàn)整型數(shù)據(jù)的加法

    解析如何用指針實(shí)現(xiàn)整型數(shù)據(jù)的加法

    本篇文章是對(duì)用指針實(shí)現(xiàn)整型數(shù)據(jù)加法的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++11中std::function與std::bind的用法實(shí)例

    C++11中std::function與std::bind的用法實(shí)例

    大家都知道C++11中增加了許多的新特性,下面這篇文章主要給大家介紹了關(guān)于C++11中std::function與std::bind的用法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • C++共享內(nèi)存刪除的陷阱

    C++共享內(nèi)存刪除的陷阱

    這篇文章主要介紹了C++共享內(nèi)存刪除的陷阱講解,當(dāng)進(jìn)程結(jié)束使用共享內(nèi)存區(qū)時(shí),要通過(guò)函數(shù) shmdt 斷開(kāi)與共享內(nèi)存區(qū)的連接。下面來(lái)看看具體問(wèn)題都是怎么解決的吧
    2022-01-01
  • 詳解如何使用openssl創(chuàng)建自簽名證書

    詳解如何使用openssl創(chuàng)建自簽名證書

    這篇文章主要為大家介紹了詳解如何使用openssl創(chuàng)建自簽名證書示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 數(shù)據(jù)結(jié)構(gòu)之紅黑樹(shù)詳解

    數(shù)據(jù)結(jié)構(gòu)之紅黑樹(shù)詳解

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之紅黑樹(shù)詳解,紅黑樹(shù)是一種自平衡二叉查找樹(shù),它的統(tǒng)計(jì)性能要好于平衡二叉樹(shù)(AVL樹(shù)),因此,紅黑樹(shù)在很多地方都有應(yīng)用,需要的朋友可以參考下
    2014-08-08
  • 深入理解C++的對(duì)象模型

    深入理解C++的對(duì)象模型

    本文在介紹C++使用的對(duì)象模型之前,先介紹了2種對(duì)象模型:簡(jiǎn)單對(duì)象模型(a simple object model)和表格驅(qū)動(dòng)對(duì)象模型(a table-driven object model),這樣介紹對(duì)后面的內(nèi)容更有幫助,有需要的小伙伴們可以參考學(xué)習(xí)。
    2016-08-08
  • 如何用C語(yǔ)言、Python實(shí)現(xiàn)棧及典型應(yīng)用

    如何用C語(yǔ)言、Python實(shí)現(xiàn)棧及典型應(yīng)用

    本文先通過(guò)實(shí)例分別介紹了如何用C語(yǔ)言、Python實(shí)現(xiàn)棧,后又介紹棧的典型應(yīng)用,對(duì)大家學(xué)習(xí)棧很有借鑒參考價(jià)值,下面一起來(lái)看看吧。
    2016-08-08
  • C++中hashmap的一些使用建議

    C++中hashmap的一些使用建議

    由于hashmap不是c++ stl中標(biāo)準(zhǔn)實(shí)現(xiàn),這樣在跨平臺(tái)使用時(shí)就可能會(huì)出現(xiàn)問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于C++中hashmap的一些使用建議,需要的朋友可以參考下
    2023-03-03
  • 用C++實(shí)現(xiàn)單向循環(huán)鏈表的解決方法

    用C++實(shí)現(xiàn)單向循環(huán)鏈表的解決方法

    本篇文章是對(duì)用C++實(shí)現(xiàn)單向循環(huán)鏈表的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評(píng)論