首页 > 解决方案 > 是否有任何 C 标准函数将值“1”传递给所有 (%s)

问题描述

我只想知道是否有任何 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"));

标签: c++c

解决方案


我认为您可以像这样格式化它;

sprintf( buffer, "record_id(%s)record_num(%1$s)record_val (%1$s"), "1") );

这是printf格式字符串的 POSIX 扩展。您可以使用 n$ 来指示列表中的第 n 个参数。


推荐阅读