【发布时间】:2012-11-15 19:10:50
【问题描述】:
我有一种情况,我试图打印出用户在 Lua 中格式化并通过注册函数发送给我的信息。我从客户那里得到的是一个格式字符串、参数的数量以及每个参数作为一个数字。在调用此函数之前,我不知道用户将拥有多少个参数。我通过查询lua系统得到它们。
如何在运行时使用格式字符串和数字列表调用 printf?我可以在运行时为数字的值分配一个数组,但 printf 期望一个 va_list 而不是参数的数字数组。
根据参数的数量,我可以有大量的“if”语句,但我正在寻找一种更巧妙的方法。
有什么想法吗?
【问题讨论】:
-
循环遍历你的函数中的列表并附加到前一个 printf?.
-
试试 vprintf。 IIRC 它适用于数组
标签: c variables runtime arguments printf