MFC 讀取.bin檔案,讀取出來的資料出現問題,原始資料時這樣的“02 C9 28 90 24 38 E0 44 01 F0 22 02 91 FFFFFF9C 78 53”,可是現在得出來的資料是這樣的“02 FFFFFFC9 28 FFFFFF90 24 38 FFFFFFE0 44 01 FFFFFFF0 22 02 FFFFFF91 FFFFFF9C 78 53 ”,求大神幫忙!
long Filelen;
char* a_pData;
FILE* fp;
if (fp=fopen(str,"r")) //str是我的.bin 檔案路徑
{
fseek(fp,0,SEEK_END);
Filelen = ftell(fp);
//分配記憶體
a_pData=https://bbs.csdn.net/topics/ (char*)malloc(Filelen);
//讀取檔案到分配的記憶體
fseek(fp,0,SEEK_SET);
fread(a_pData,1,Filelen,fp);
fclose(fp);
CString sResult;
for(int i=0;i <Filelen;i++)
{
CString s="";
s.Format("%.2X ",a_pData[i]);//后面加個空格,把每個位元組分開,可以看得清楚些
sResult+=s; //sResult就是要的16進制字串了
}
}
uj5u.com熱心網友回復:
原始資料時“02 C9 28 90 24 38 E0 44 01 F0 22 02 91 9C 78 53”uj5u.com熱心網友回復:
問題已經解決,將char改成UCHAR就可以了uj5u.com熱心網友回復:
if (fp=fopen(str,"rb"))uj5u.com熱心網友回復:
為什么我用這段代碼讀bin檔案有些是和UltraEdit讀的是一樣的,為什么有些bin檔案讀出來是不同的,后面跟了很多CD是怎么回事兒啊?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/64507.html
標籤:基礎類
上一篇:基于tcp的簡單檔案傳輸程式
