根據加工步驟,常用的兩種方法如下:
1.由於用0xXX替換XX適合16基數轉換,所以可以將16基數值逐個讀取,然後用0x輸入到壹個新文件中。?
參考代碼:
#包含?& ltstdio.h & gt
int?主()
{
文件?*in=fopen("in.txt "," r "),?*out=fopen("out.txt ",“w”);//打開兩個文件。
未簽名?夏爾?c;
while(fscanf(在," %02X ",& ampc)?!=?EOF)//循環獲取數據。
{
fprintf(out," 0x%02X ",c);//添加0x並輸出到新文件。?
}
fclose(in);
fclose(out);//關閉文件。
回歸?0;
第二,由於原文件是由兩個16的十六進制數字組成的,所以每讀兩個16的十六進制數字,就可以認為得到壹個合法的16的十六進制數字,可以依次作為輸入輸出依據。?
參考代碼:
#包含?& ltstdio.h & gt
int?主()
{
文件?*in=fopen("in.txt "," r "),?*out=fopen("out.txt ",“w”);//打開兩個文件。
夏爾?c[2];
int?t;
while(1)
{
t=fgetc(英寸);
如果((t & gt= ' 0 ' & amp& amp?t & lt='9')||?(t & gt= ' a ' & amp& amp?t & lt='f ')?||?(t & gt= ' A ' & amp& amp?t & lt= ' f ')//合法的16十六進制數
{
c[0]?=?t;
c[1]?=?fgetc(英寸);//得到兩個連續的數字。
fprintf(out," 0x%c%c ",c[0],c[1]);//添加0x並輸出到新文件。?
}
不然呢?if(t==EOF)?打破;//到文件末尾,退出循環。
}
fclose(in);
fclose(out);//關閉文件。
回歸?0;
}