在c中打印多个参数

时间:2011-12-17 11:13:10

标签: c char printf

我有这个函数需要多个char参数。如何打印它们并在每个char的末尾添加一个'\ n'?

void printAndSave(char* msg,...)
{
     //printing single one.
    //printf("Log:%s\n",msg);
    //saveToLog(msg);

   //how to print all of them?

}

2 个答案:

答案 0 :(得分:2)

我认为您需要更改printAndSave()的签名以指定传递的char*个参数的数量。例如:

void printAndSave(const unsigned int arg_count, ...)
{
    unsigned int i;
    char* val;
    va_list vl;

    va_start(vl,arg_count);
    for (i=0;i<arg_count;i++)
    {
        val=va_arg(vl,char*);
        printf ("%s\n",val);
    }
    va_end(vl);
}

答案 1 :(得分:1)

查看此page末尾的示例。你应该很容易适应你的问题;)请注意你必须知道它们的类型。