有没有办法设置printf函数的输出序列?

时间:2015-08-03 03:06:14

标签: c++ lua

例如

printf("%d, %d", num1, num2) 
string.format("%d, %d", num1, num2)

我想先输出num2 没有修改params表中的param顺序 只需修改格式字符串即可达到我的观点

2 个答案:

答案 0 :(得分:3)

在C或C ++ printf中没有这样的东西。

POSIX指定printf和朋友可以使用位置参数,作为C:

的扩展名
printf("%2$d, %1$d", 33, 42); // prints 42, 33

微软的善良人士支持这一点,但为了更方便,他们将功能命名为不同的,例如_printf_p

Lua format曾经支持过这个版本直到4.0,但是在版本5中,某个人,选择的神灵保佑他们的灵魂,决定宣布这个“过时”并删除此功能。我不知道Lua设施取代了什么,如果有的话。

答案 1 :(得分:0)

是的,我来到这里: print(“test rsult”.. string.gsub(“来自Lua param2的hello param1世界”,“param%d”,{param1 = 25,param2 =“Jesus”}))