【问题标题】:C - Vsprintf and variable arguments listC - Vsprintf 和变量参数列表
【发布时间】:2012-10-01 04:37:52
【问题描述】:

现在,该程序的目的是通过变量参数列表获取四个名称,并使用 vsprintf() 将它们连接成一个名为“total”的字符串。就目前的程序而言,只有名字出现在字符串“total”中。请问我该如何解决这个问题?谢谢:)

【问题讨论】:

  • int vsprintf(char *str, const char *format, va_list ap);

标签: c list arguments concatenation printf


【解决方案1】:

签名是int vsprintf(char *str, const char *format, va_list ap);

第二个参数是通常的printf 格式字符串...所以:

void concat(char *total, ...)
{
   va_list pointer;

   va_start(pointer, total);
   vsprintf(total, "%s %s %s %s", pointer);
   va_end(pointer);
}

这当然只适用于正好 4 个字符串,但您要求使用 vsprintf 来实现它,这不适用于一般情况。

注意:您缺少<stdio.h>,它是int main()

【讨论】:

  • 非常感谢 :))))) 这正是我所需要的 :) 非常感谢 :)
  • 谢谢 :) 你帮了很多忙 :)
猜你喜欢
  • 1970-01-01
  • 2015-06-08
  • 2012-08-29
  • 1970-01-01
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多