好久沒有更新部落格了,今天更新下。
在開發除錯debug中經常需要檢視原始二進位制資訊,特別是當不能直接列印字串時,檢視原始二進位制就特別有用了。以下的簡單函式可以列印出像hexdump命令一樣格式的資訊。除錯開發中特別方便和直觀。原始碼**於ecos。
1 typedef unsigned char使用時直接呼叫:diag_dump_buf(buf,len);即可。注意小心長度不要越界。cyg_uint8 ;
2 typedef unsigned int
cyg_addrword;
3 typedef int __printf_fun(const
char *fmt, ...);
4void
5 diag_vdump_buf_with_offset(__printf_fun *pf,
6 cyg_uint8 *p,
7cyg_addrword s,
8 cyg_uint8 *base)9
14while ((int)s > 0
) else
20for (i = 0; i < 16; i++) else
26if (i == 7) (*pf)("");
27}28 (*pf)("|"
);29
for (i = 0; i < 16; i++) else
36 (*pf)("%c"
, c);37}
38 (*pf)("
|\n"
);39 s -= 16
;40 p += 16;41
}42}43
44void
45 diag_dump_buf_with_offset(cyg_uint8 *p,
46cyg_addrword s,
47 cyg_uint8 *base)48
5152
void
53 diag_dump_buf(void *p, cyg_addrword s)
54
結果示例:
1092 最好吃的月餅(C語言)
月餅是久負盛名的中國傳統糕點之一,自唐朝以來,已經發展出幾百品種。若想評比出一種 最好吃 的月餅,那勢必在吃貨界引發一場腥風血雨 在這裡我們用數字說話,給出全國各地各種月餅的銷量,要求你從中找出銷量冠軍,認定為最好吃的月餅。輸入首先給出兩個正整數 n 1000 和 m 100 分別為月餅的種類數 於...
C語言列印檔案
include includevoid main int printfile char filename int fputc int c,file fp c 要寫入的字元,雖然定義為整形,但只能使用最低位的乙個位元組。fp是檔案指標 函式功能 將字元c輸出到fp所指向的檔案 int fgetc fi...
C語言 列印沙漏
7 25 列印沙漏 20 分 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏...