作者tsaiminghan (nahgnimiast)
看板C_and_CPP
標題Re: [問題] 純c開二元檔,輸出address、16進位、ASCII
時間Sat Aug 7 00:20:00 2010
※ 引述《wait0211 (我只是過客)》之銘言:
: address 16進制碼 ASCII
: 00000030 61 62 63 30 30 30 30 30 30 30 30 30 30 30 30 30 abc0000000000000
: 00000040 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
: 00000050 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
: 就是一整個都錯 XD
: 想請問的是,
: 我該怎麼修改才能使輸出達到我的需求呢??
: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
: VC++ 6.0、Dev-C++
: 補充說明:
: 附上程式碼,請多指教 XD
: http://nopaste.info/69bf9f4913.html
address部分
60行 index = offset/16;
69行 printf("%05X0 ",index);
所以輸入55出來是00000030是正常的。
如果你希望輸入55出來是00000050的話,你要把輸入變成16進位
58行 offset = atoi(str2); 這要改成str2是16進位的數字
sscanf(str2, "%x", &offset) 像是這樣
另外你是整行整行在秀,沒對應該留白的部分作處理, 秀出來的當
然不對。
建議,記住哪些部分要留白,到時就就印空白鍵,不然一次不是印
一行,處理起來感覺很麻煩。
--
改好了
http://nopaste.info/d651356ef7.html
※ 編輯: tsaiminghan 來自: 59.121.130.199 (08/07 00:35)
→ wait0211:感謝~ sscanf這東西我還真沒用過 XD 08/07 00:38
→ tsaiminghan:sscanf這一定要知道啊,處理字串超方便的... 08/07 00:44