变量函数 - 如何获取var_args的数量?

Maw*_*awg 1 c variadic-functions

这可以完成吗?有没有,例如,某种va_num_args?

基本上,我以prinf()类似的方式在串行端口上记录事件,采用格式字符串,并且可选地,使用一些参数.我想知道是否存在任何此类选项参数.

我可以区分Trace("No paramters here");和Trace("forty two = %d", 43 - 1);吗?

miz*_*izo 5

不,但可以使用以下方法:

  • 从格式字符串中删除参数cound(如printf).
  • 使用sentinel值指示最后一个参数.
  • 提供专用的计数参数.