我有一个问题,我想多次调用sprintf(或类似函数),
例如:char*str=“温度为%f,湿度为%d,等待%d秒”;现在我收到了多个变量中的参数数据,我希望能够调用
float temp = 23.45; char humidity = 87; int time = 3; sprintf(buf, str, temp); sprintf(buf, str, humidity); sprintf(buf, str, time);`
然而,我们看到对sprintf本身的第一次调用将用23.45替换第一个%f,并用垃圾或0替换其他格式说明符。第一次sprintf调用后,我在str中期望的是“温度为23.45,湿度为%d,等待%d秒”
所以我知道我不能使用sprintf或snprintf来实现这一点,是否还有另一个字符串库调用可以实现我的预期?
我在在线gdb中尝试过这个功能,但sprintf不是我想要的功能