![C--16進制文本轉(zhuǎn)換為ascii碼_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/f5f0f817-0c25-480a-b9b5-05ae6b17ebba/f5f0f817-0c25-480a-b9b5-05ae6b17ebba1.gif)
![C--16進制文本轉(zhuǎn)換為ascii碼_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/f5f0f817-0c25-480a-b9b5-05ae6b17ebba/f5f0f817-0c25-480a-b9b5-05ae6b17ebba2.gif)
![C--16進制文本轉(zhuǎn)換為ascii碼_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/f5f0f817-0c25-480a-b9b5-05ae6b17ebba/f5f0f817-0c25-480a-b9b5-05ae6b17ebba3.gif)
![C--16進制文本轉(zhuǎn)換為ascii碼_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/f5f0f817-0c25-480a-b9b5-05ae6b17ebba/f5f0f817-0c25-480a-b9b5-05ae6b17ebba4.gif)
![C--16進制文本轉(zhuǎn)換為ascii碼_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/f5f0f817-0c25-480a-b9b5-05ae6b17ebba/f5f0f817-0c25-480a-b9b5-05ae6b17ebba5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、我用的將16進制文本轉(zhuǎn)換為ascii碼的C語言代碼。16進制文本復(fù)制到文件test.txt中,運行程序,將得到輸入。例:運行:./CSTRING test.txt其中,test.txt文件內(nèi)容為:30:31:32則得到的"Cstring.txt"輸入文件中012:“ ”,“ 或空格等,判本程序能自動跳過0或多個分隔符(分隔符可以為任意的符號,如 斷的函數(shù)實現(xiàn)見 Skip Delimiter函數(shù))。如:輸入文件內(nèi)容為:323031303132得到的都是012cpp view plain copy1.#include <stdio.h>2.#include <
2、unistd.h>3.#include <string.h>4.#include <sys/t yp es.h>5.#include <sys/stat.h>6.#include <libgen.h>7.#include <fcntl.h>8.#include <stdlib.h>9.10.typedef unsigned char uint8;11.12.uint8 ConverseOneChar(uint8 ucChar)13.14.15.uint8 ucT mp = 0x00;"one ucChar=
3、 0x%xn", ( char )ucChar);printf(16.switch (ucChar)Il7.18.case '0':19.ucT mp = 0x00;20.break ;21.case '1':22.ucT mp = 0x01;23.break ;24.case '2':25.ucT mp = 0x02;26.break ;27.case '3':28.ucT mp = 0x03;29.break ;30.case '4':31.ucT mp = 0x04;32.break ;33.cas
4、e '5':34.ucT mp = 0x05;35.break ;36.case '6':37.ucT mp = 0x06;38.break ;39.case '7':40.ucT mp = 0x07;41.break ;42.case '8':43.ucT mp = 0x08;44.break ;45.case '9':46.ucT mp = 0x09;47.break ;48.case 'a':49.case 'A':50.ucT mp = 0x0a;51.break ;52.c
5、ase 'b':53.case 'B':54.ucT mp = 0x0b;55.break ;56.case 'c':57.case 'C':58.ucT mp = 0x0c;59.break ;J60.case 'd':61.case D :62.ucT mp = OxOd;63.break ;64.case 'e':65.case 'E':66.ucT mp = 0x0e;67.break ;68.case 'f'69.case 'F':70.uc
6、T mp = 0x0f;71.break ;72.default73.printf("err char!n" );74.return -1;75.76.return ucT mp;77.78.79.uint8 GetOneChar(uint8 *p ucBuf)80.81.uint8 ucChar = 0x00;82.if (NULL = pucBuf)83.84.printf("para is NUL L!n");85.return -1;9.ucChar = ConverseOneChar( pucBuf0);printf( &q
7、uot;first ucChar= 0x%xn"char )ucChar);90.ucChar <<= 4;91.ucChar |= ConverseOneChar( pucBuf1);92.printf("second ucChar= %c0x%xn",(char )ucChar, ucChar);93.94.returnucChar;95.96.97.intSki pDelimiter(uint8 *p cBuf)99.int n = 0;100.char *pcBufTmp = ( char *)pcBuf;102.n !=for (n = 0;
8、 (pcBufTmpn !='r'); n+)'0')&& (p cBufT mp n !='n') && (p cBufT mp04.if (pcBufTmpn='0')105.| (pcBufT mpn='1')106.| (pcBufT mpn='2')107.| (pcBufT mpn='3')108.| (pcBufT mpn='4')109.| (pcBufT mpn='5')110.
9、| (pcBufT mpn='6')111.| (pcBufT mpn='7')112.| (pcBufT mpn='8')113.| (pcBufT mpn='9')114.| (pcBufT mpn='A' ) | (pcBufTmpn='a')115.| (pcBufT mpn='B' ) | (pcBufTmpn='b')116.| (pcBufT mpn='C' ) | (pcBufTmpn='c')117.| (pcBufT
10、 mpn='D' ) | (pcBufTmpn='d')118.| (pcBufT mpn='E' ) | (pcBufTmpn='e')119.| (pcBufT mpn='F' ) | (pcBufTmpn='f')120.121.break ;25.return n;126.127.128.intParseHexString(unsigned*p ucDstBuf)char *pucSrcBuf,int iSrcFileLen, unsignedchar141.144
11、.145.129.130.uint8 *p ucSrcT mp = NULL;131.uint8 *p ucDstT mp = NULL;132.uint8 ucT mp = 0;133.intiFileLenRemain = iSrcFileLen;134.intiDelimiterNum = 0;135.intn = 0;136.137.if (NULL = pucSrcBuf)|(NULL = pucSrcBuf)138.139.printf("para 1 or 2 is NUL L!n");140.return -1;142.p ucSrcT mp = p ucS
12、rcBuf;143.p ucDstT mp = p ucDstBuf;146.while (iFileLenRemain != 0)147.148.ucT mp = GetOneChar( pucSrcT mp);186.189.149.printf("ucTmp = %cn", ( char )ucTmp);150.p ucDstT mp n+ = ucT mp;151.152.p ucSrcT mp += 2;153.iDelimiterNum = Skip Delimited pucSrcT mp);154.155.printf(p ucSrcT mp += iDel
13、imiterNum;"iDelimiterNum=%dn" , iDelimiterNum);156.iFileLenRemain -= 2 + iDelimiterNum;157.158.159.return n;160.161.162.intmain( int argc, char *argv)164.intiRet = 0;165.char*p cFileForChange = NULL;166.intiSrcFd = 0;167.intiDstFd = 0;168.intiSrcFileLen = 0;169.intn = 0;170.unsignedchar *p
14、ucSrcBuf = NULL;171.unsignedchar *pucDstBuf = NULL;163.172.173.if (argc != 2)174.175.printf("you need input the filename to change!n");176.return -1;177.178.179.p cFileForChange = argv1;180.printf("filename:%sn" , p cFileForChange);181.182.iSrcFd = op en( pcFileForChange, O_RDONL
15、Y); if (iSrcFd < 0)183.184.185.printf(return"open file:%s faild!n"-1;,p cFileForChange);187.iDstFd = open("Cstring.txt",0_RDWR | O_CREAT | O_TRUNC, 0644);188.if (iDstFd < 0)190.printf("open change filename file faild!n");191.return -1;192.193.194.iSrcFileLen = lse
16、ek(iSrcFd, 0, SEEK_END);195.printf("FileLen:%dn" , iSrcFileLen);196.lseek(iSrcFd, 0, SEEK_SET);197.pucSrcBuf = malloc(iSrcFileLen + 1024);198.199.p ucDstBuf = malloc(iSrcFileLen); memset (p ucSrcBuf, 0, iSrcFileLen);200.memset (p ucDstBuf, 0, iSrcFileLen);201.202.iRet = read(iSrcFd, pucSrcBuf, iSrcFileLen);203.if (iRet != iSrcFileLen)204.205.printf("read err, read len = %dn",iRet);206.return -1;207.208.printf("read:%sn" , pucSrcBuf);209.210.n = P arseHexString( pucSrcBuf, iSrcFileLen,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人租房合同的(31篇)
- 2024-2025學(xué)年北京市房山區(qū)高一上學(xué)期期中考試歷史試卷
- 2025年公共設(shè)施配套建設(shè)項目房屋征收合同
- 2025年住宅銷售策劃合同模板規(guī)定
- 2025年官方離婚協(xié)議范本策劃(雙方同意版)
- 2025年全球貿(mào)易合同制定原則及合規(guī)要求解析
- 2025年債權(quán)轉(zhuǎn)讓與貸款合作協(xié)議
- 2025年車輛所有權(quán)變更策劃協(xié)議書模板
- 2025年農(nóng)村土地利用合作協(xié)議
- 2025年人事檔案授權(quán)委托協(xié)議
- 社區(qū)成人血脂管理中國專家共識(2024年)
- 廣東省2024年普通高中學(xué)業(yè)水平合格性考試語文仿真模擬卷01(解析版)
- 信息科技重大版 七年級上冊 互聯(lián)網(wǎng)應(yīng)用與創(chuàng)新 第1單元 單元教學(xué)設(shè)計 互聯(lián)網(wǎng)時代
- CR200J動力集中動車組拖車制動系統(tǒng)講解
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫參考答案
- 腎性高血壓的護理
- 國際貨物運輸委托代理合同(中英文對照)全套
- 全面新編部編版四年級下冊語文教材解讀分析
- 《建筑工程質(zhì)量檢驗評定標準》
- 教學(xué)能力大賽-教學(xué)實施報告《大學(xué)英語2c》
- 江蘇農(nóng)牧科技職業(yè)學(xué)院單招《職業(yè)技能測試》參考試題庫(含答案)
評論
0/150
提交評論