Повторное использование аргумента функции с переменным числом аргументов не работает

У меня есть функция, которая пытается записывать данные в консоль, а также в файл журнала, но она не работает. При втором использовании аргумента переменной длины в консоль записывается мусор. Любые идеи?

    void logPrintf(const char *fmt, ...) {
        va_list ap;    // log to logfile
        va_start(ap, fmt);
        logOpen;
        vfprintf(flog, fmt, ap);
        logClose;
        va_end(ap);
        va_list ap2;   // log to console
        va_start(ap2, fmt);
        printf(fmt, ap2);
        va_end(ap2);
    }
13
задан Neddie 16 February 2012 в 10:07
поделиться