如何使用C++製作轉換十六進位的Dll,新手上路 |
尚未結案
|
wsc
一般會員 發表:7 回覆:0 積分:1 註冊:2003-09-23 發送簡訊給我 |
|
mkbobo
一般會員 發表:4 回覆:68 積分:19 註冊:2003-04-10 發送簡訊給我 |
老實說你的語意我看的不是很懂
所以我就以我理解的來作答 我猜你的問題是利用c++ 做一個dll
然後它的功能是 將檔案內容每一個byte 轉換成 16進制 然後輸出 是嗎??
我想做dll的方法 網路上很多了麻煩動一下滑鼠加鍵盤查一下 ^^ 我提供你將檔案轉成 16進制的方法
利用兩個MEMO 加上一個轉換按鈕 你可以根據你的需求在將他修改成為你要的檔案
void __fastcall TForm1::Button2Click(TObject *Sender) { TMemoryStream *pMS = new TMemoryStream; Memo1->Lines->SaveToStream(pMS); //pMS->LoadFromFile(檔名 ); << 如果你不是用 Memo 可將上一行換成這 AnsiString str,str1; for(DWORD idx= 0;idxSize ; idx) { str = str1.sprintf("x ",*((char*)(pMS->Memory) idx) ); if((idx) == 15) { Memo2->Lines->Add(str ); str=""; } } Memo2->Lines->Add(str ); delete pMS; }希望對你有幫助 |
mkbobo
一般會員 發表:4 回覆:68 積分:19 註冊:2003-04-10 發送簡訊給我 |
引言:再把這個程式修改一下 檔案過大時這樣會快一點void __fastcall TForm1::Button2Click(TObject *Sender) { TMemoryStream *pMS = new TMemoryStream; TStringList *pSL = new TStringList;//加入的部分 Memo1->Lines->SaveToStream(pMS); //pMS->LoadFromFile(檔名 ); << 如果你不是用 Memo 可將上一行換成這 AnsiString str,str1; for(DWORD idx= 0;idxSize ; idx) { str = str1.sprintf("x ",*((char*)(pMS->Memory) idx) ); if((idx) == 15) { //Memo2->Lines->Add(str ); << 換掉 pSL->Add(str); //加入這行增加速度 str=""; } } pSL->Add(str);//加入的部分 Memo2->Lines->AddStrings(pSL);//加入的部分 //Memo2->Lines->Add(str ); << 換掉 delete pMS; } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |