传递变量的参数

传递变量的参数

假设我有一个C函数,它接受一个可变的参数:我如何调用另一个函数,它需要一个变量数量的参数,传递到第一个函数中的所有参数?

例子:

void format_string(char *fmt, ...);void debug_print(int dbg_lvl, char *fmt, ...) {
    format_string(fmt, /* how do I pass all the arguments from '...'? */);
    fprintf(stdout, fmt);
 }


尚方宝剑之说
浏览 442回答 3
3回答

Smart猫小萌

如果你不想玩调皮的和非便携的把戏,就不知道你要给它传递多少论据,就无法调用(如)printf。通常使用的解决方案总是提供vararg函数的替代形式,因此printf有vprintf这需要一个va_list代替.....这个...版本只是包装va_list版本。
打开App,查看更多内容
随时随地看视频慕课网APP