Показать сообщение отдельно
Старый 21.04.2011, 23:14   #40
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

вот так 100% верно:
Код:
void logcustom(uint8 lvl, Color color, const char *str, ...)
{
	char buf[4096]; //

    if(!str || loglevel < lvl)
        return;
    va_list ap;
    _log_setcolor(true,color);
    if(logtime)
        printf("%s ", GetTimeString().c_str());
    va_start(ap, str);
    vsprintf(buf, str, ap );
    va_end(ap);
	char* str_oem = str_convert_log(buf, CP_UTF8, 866);
	printf("%s\n", str_oem);
    _log_resetcolor(true);

    if(logfile)
    {
        fprintf(logfile, "%s %s\n", getDateString().c_str(), str_oem);
        fflush(logfile);
    }
    fflush(stdout);
	delete[] str_oem;
}

Последний раз редактировалось Йоха; 21.04.2011 в 23:49.
Йоха вне форума   Ответить с цитированием