-1

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

4

1 回答 1

3

签名是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().

于 2012-10-10T16:21:16.033 回答