[討論] 如何用function來包像printf這種function
各位好,
像printf這類參數不定的function,
要如何用另一個參數不定的function來包呢?
Ex: printf(const unsigned char *fmtstr, ...)
如果我要用類列下列的參數不定function來包printf()要如何完成呢?
Ex: Func(const unsigned char *str, ???)
{
unsigned char buf[80];
sprintf(buf, str, ???);
printf("%s Test\n", buf);
}
需要有什麼特殊的方法嗎?
請各位多多賜教..
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.215.105
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1456647753.A.D21.html
推
02/28 16:24, , 1F
02/28 16:24, 1F
→
02/28 16:25, , 2F
02/28 16:25, 2F
推
02/28 16:26, , 3F
02/28 16:26, 3F
→
02/28 16:26, , 4F
02/28 16:26, 4F
→
02/28 16:26, , 5F
02/28 16:26, 5F
→
02/28 16:28, , 6F
02/28 16:28, 6F
謝謝樓上幾位的建議, 已解決..
做法如下,
#include <stdarg.h>
Func(const unsigned char *str, ...)
{
unsigned char buf[80];
va_list arg;
va_start(arg, str);
vsprintf(buf, str, arg);
va_end(arg);
printf("%s Test\n", buf);
}
※ 編輯: MaxHaru (118.171.215.105), 02/28/2016 16:54:23