我只想知道是否有任何C(或C ++)标准函数将值“1”传递给所有(%s)。
sprintf(buffer, "record_id(%s)record_num(%s)record_val (%s"), "1"));
而不是传递喜欢和复制“1”:
sprintf(query_buffer, "record_id(%s)record_num(%s)record_val (%s"), "1", "1", "1"));
我想你可以像这样格式化它;
sprintf( buffer, "record_id(%s)record_num(%1$s)record_val (%1$s"), "1") );
这是printf格式字符串的POSIX扩展。您可以使用n $来指示列表中的第n个参数。
没有。
没有C标准功能。至于C ++(因为你说cpp函数),我不确定,但我非常怀疑它存在。
没有!但是你可以创建自己的函数来接收一个数字字符串并将其放入%s ...