6
我想定義兩個函數,fdump和sdump,在每種情況下使用fprintf和sprintf將結構轉儲到文件或緩衝區。打印到緩衝區或文件重用代碼
有沒有一種方法來定義它們而不重複兩個函數中的代碼? 一種解決方案可以是限定sdump,然後根據它FdUMP的,E.I。:
void fdump(FILE* f, struct mystruct* param) {
char buffer[MAX];
sdump(buffer, MAX, param);
fprint(f, "%s", buffer);
}
但是,溶液廢物和中間緩衝器。雖然也許fprintf也是這樣。其他解決方案可以通過預處理宏來實現,但看起來相當複雜。請有任何想法?
在此先感謝
能你發佈sdump代碼? – perreal 2012-07-30 15:27:42
尚未寫入。但它只會將結構的字段名和它們的值打印到緩衝區中。 – ldonoso 2012-08-01 06:29:14