вывести несколько параметров в c - PullRequest
0 голосов
/ 17 декабря 2011

У меня эта функция принимает более одного параметра char. Как распечатать каждый из них и добавить '\ n' в конце каждого символа?

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

   //how to print all of them?

}

Ответы [ 2 ]

2 голосов
/ 17 декабря 2011

Я думаю, вам нужно будет изменить подпись 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 голос
/ 17 декабря 2011

Посмотрите, например, на конец этой страницы . Вы должны легко адаптировать его к вашей проблеме;) Обратите внимание, что вы должны знать тип их.

...