第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

網(wǎng)上都說2進制文件讀取要用rb 但是我明顯是用rb方式 但是就是不行,求解原因是什么 如何修改?

網(wǎng)上都說2進制文件讀取要用rb 但是我明顯是用rb方式 但是就是不行,求解原因是什么 如何修改?

C C++
紫衣仙女 2023-03-05 08:04:48
FILE *a=fopen("C:/123.exe","rb");fseek(a,0L,SEEK_END);long b=ftell(a);char * loc=(char *)malloc(b);if(loc==NULL)printf("error");memset(loc,0,b);fseek(a,0L,SEEK_SET);fread(loc,b,1,a);fclose(a);以rb方式打開,例如我自己創(chuàng)建個1.exe記事本方式打開寫入 abc 123 就可以正確讀取,但是如果是BMP那類的文件 就只讀取前面幾個字符(都是字符后有空格) 之后就都不讀取了,為什么?
查看完整描述

2 回答

?
慕村9548890

TA貢獻1884條經(jīng)驗 獲得超4個贊

根據(jù)你的程序,應(yīng)當(dāng)是讀進來了;
但最好按照unsigned char讀入,另外也不能按照字符串處理,因為二進制文件中有許多0,打印輸出時以%x格式打印。
另外你還要判斷一下這個b會不會超過64k,如果超大,需要用大模式來編譯程序,以便支持大的內(nèi)存區(qū)訪問。建議用小些的文件測試。

查看完整回答
反對 回復(fù) 2023-03-08
?
拉丁的傳說

TA貢獻1789條經(jīng)驗 獲得超8個贊

"C:/123.exe"這里應(yīng)該是"C:\\123.exe"才對,其他沒有大問題。fread是按字節(jié)讀取的,.exe文件有好多數(shù)據(jù)按字符是無法顯示的,不知你是怎么判斷沒有讀取正確。

查看完整回答
反對 回復(fù) 2023-03-08
  • 2 回答
  • 0 關(guān)注
  • 122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號