全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:891
推到 Plurk!
推到 Facebook!

二進位方式寫入檔案

尚未結案
Overmars
一般會員


發表:15
回覆:10
積分:5
註冊:2003-12-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-23 12:31:28 IP:61.221.xxx.xxx 未訂閱
我想將在RegEdit裡的一些hex的資料(例如AF 56 E7, 即3個bytes), 以二進位方式寫入一個a.bin的檔案. 請問各位我該如何做? 謝謝各位!
Overmars
一般會員


發表:15
回覆:10
積分:5
註冊:2003-12-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-23 12:44:35 IP:61.221.xxx.xxx 未訂閱
對不起我更清楚的說明, 就是我在RegEdit上的格式是af 56 e7, 而產生的檔案需是: 00000000h: af 56 e7 ; 狽 感激不盡!
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-23 13:26:41 IP:61.228.xxx.xxx 未訂閱
Overmars.    下面的CODE是否是你要的
int main(int argc, char *argv[])
{
    unsigned char val[3]={0xaf,0x56,0xe7};
    FILE *file;
    file=fopen("test.bin","wb");
    fprintf(file,"%s","00000000h:");
    for(int i=0;i<3;i  ){
    fprintf(file,"x ",val[i]);
    }
    fclose(file);
    system("pause");
    return 0;
}
**一些判斷式沒加上去,如果需要自己在加上去.
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-23 16:33:06 IP:61.228.xxx.xxx 未訂閱
Overmars,    在丟個程式碼給你做參考
int main(int argc, char *argv[])
{
    unsigned char *ptr;
    ptr=(unsigned char*)0x400000; //虛擬記憶體位置 
    char ch[2]={0x0d,0x0a}; //換行的碼 
    FILE *file;
    file=fopen("test.bin","wb");
    if(file!=NULL){
        for(int j=0;j<30;j  ){
            fprintf(file,"x:",ptr);
            for(int i=0;i<16;i  )
            fprintf(file,"x ",*ptr  );
            fwrite(ch,2,1,file);//寫入換行 
            }
            fclose(file);
    }
    system("pause");
    return 0;
}
系統時間:2024-06-08 7:54:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!