现在,该程序的目标是通过变量参数列表获取四个名称,并使用vsprintf()将它们连接成一个名为' total'的单个字符串。作为当前的程序,只有名字出现在字符串' total'中。我该如何解决这个问题?谢谢:))
答案 0 :(得分: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()
。