![C--16進(jìn)制文本轉(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進(jìn)制文本轉(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進(jìn)制文本轉(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進(jìn)制文本轉(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進(jìn)制文本轉(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),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、我用的將16進(jìn)制文本轉(zhuǎn)換為ascii碼的C語言代碼。16進(jìn)制文本復(fù)制到文件test.txt中,運(yùn)行程序,將得到輸入。例:運(yùn)行:./CSTRING test.txt其中,test.txt文件內(nèi)容為:30:31:32則得到的"Cstring.txt"輸入文件中012:“ ”,“ 或空格等,判本程序能自動(dòng)跳過0或多個(gè)分隔符(分隔符可以為任意的符號(hào),如 斷的函數(shù)實(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工程施工合同索賠流程及賠償標(biāo)準(zhǔn)規(guī)范文本
- 2025年度電子工程師研發(fā)項(xiàng)目合作合同
- 2025年度酒店物業(yè)管理合同規(guī)范文本
- 遼寧2024年渤海大學(xué)附屬高級(jí)中學(xué)招聘人筆試歷年參考題庫附帶答案詳解
- 菏澤2025年山東菏澤醫(yī)專附屬醫(yī)院招聘精神科住院醫(yī)師2人筆試歷年參考題庫附帶答案詳解
- 湖南2025年湖南省住房和城鄉(xiāng)建設(shè)廳所屬事業(yè)單位選調(diào)筆試歷年參考題庫附帶答案詳解
- 溫州2024年浙江溫州蒼南縣質(zhì)量技術(shù)監(jiān)督檢測(cè)院招聘食品檢測(cè)工作人員筆試歷年參考題庫附帶答案詳解
- 浙江浙江省國際經(jīng)濟(jì)貿(mào)易學(xué)會(huì)招聘筆試歷年參考題庫附帶答案詳解
- 2025年中國宮燈罩市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國半自動(dòng)內(nèi)圓切片機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2024年全國執(zhí)業(yè)獸醫(yī)考試真題及答案解析
- 社區(qū)成人血脂管理中國專家共識(shí)(2024年)
- 廣東省2024年普通高中學(xué)業(yè)水平合格性考試語文仿真模擬卷01(解析版)
- 信息科技重大版 七年級(jí)上冊(cè) 互聯(lián)網(wǎng)應(yīng)用與創(chuàng)新 第1單元 單元教學(xué)設(shè)計(jì) 互聯(lián)網(wǎng)時(shí)代
- CR200J動(dòng)力集中動(dòng)車組拖車制動(dòng)系統(tǒng)講解
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫參考答案
- 腎性高血壓的護(hù)理
- 國際貨物運(yùn)輸委托代理合同(中英文對(duì)照)全套
- 全面新編部編版四年級(jí)下冊(cè)語文教材解讀分析
- 《建筑工程質(zhì)量檢驗(yàn)評(píng)定標(biāo)準(zhǔn)》
- 教學(xué)能力大賽-教學(xué)實(shí)施報(bào)告《大學(xué)英語2c》
評(píng)論
0/150
提交評(píng)論