|
Tools Обсуждение программ для MaNGOS |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
21.04.2011, 21:03 | #1 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Код:
void logcustom(uint8 lvl, Color color, const char *str, ...) { char *charutf8 = str_convert_log(str, CP_UTF8, 866); if(!str || loglevel < lvl) return; va_list ap; _log_setcolor(true,color); if(logtime) printf("%s ", GetTimeString().c_str()); va_start(ap, charutf8); vprintf(charutf8, ap); va_end(ap); _log_resetcolor(true); printf("\n"); if(logfile) { fprintf(logfile, "%s", getDateString().c_str()); va_start(ap, charutf8); vfprintf(logfile, charutf8, ap); fprintf(logfile, "\n" ); va_end(ap); fflush(logfile); } fflush(stdout); delete[] charutf8; P.S. этот код может быть не корректен, так как конвертируется только строка формата, а все параметры остаются в изначальной кодировке и если utf8 строки передаются в качестве параметра, то тут то и наступят грабли Последний раз редактировалось Йоха; 21.04.2011 в 23:49. |
21.04.2011, 23:14 | #2 |
Умный
Регистрация: 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. |
22.04.2011, 13:51 | #3 |
RuDB Dev
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
|
Код:
void logcustom(uint8 lvl, Color color, const char *str, ...) Что означают три точки в аргументах функции? |
22.04.2011, 13:58 | #4 | |
Ученый
|
Цитата:
Вот пример где это реализовано: Код:
int printf(const char *format, ...); Код:
int a = 0, b = 1, c = 2; printf("Numbers: %i, %i, %i", a, b, c); Numbers: 0, 1, 2
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть? admin: О Боже! admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет |
|
Пользователь сказал cпасибо: | Konctantin (22.04.2011) |
22.04.2011, 14:03 | #5 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Что тут трудного ? все правильно говоришь. Многоточие означает что функция может принимать любое количество аргументов, которые потом получаются при помощи макросов va_arg, va_end, va_start.
|
Пользователь сказал cпасибо: | Konctantin (22.04.2011) |
22.04.2011, 15:13 | #7 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
KiriX, заработало ? или еще не пробовал ?
|
24.04.2011, 01:25 | #9 |
Новичок
Регистрация: 13.03.2010
Адрес: Самара
Сообщений: 20
Сказал(а) спасибо: 13
Поблагодарили 2 раз(а) в 1 сообщении
Записей в дневнике: 1
|
Насколько функционально gui у этого клиента? У меня получился только некий "вид со стороны". Ни чата, ни какого бы то ни было управления персонажем, вообще ничего. только пейзаж, непонятно прорисованные npc, непонятно прорисованный мой персонаж и fps сверху пишется. Движение камеры причем происходит строго по ландшафту, т.е. если например зайти в огри, то ходить придется под ним. И это все только камера, сам персонаж остается на своем месте. Это только у меня так или так и должно быть?
|
Метки |
pseuwow, альтернативный клиент |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Клиент Катаклизма | evilstar | Флудильня | 5 | 04.12.2010 12:58 |
Нужна помощь по установке сервера mangos в дата центр | Kolyasamec | Корзина | 1 | 25.09.2010 21:28 |
Портативный SQL клиент | selector | Новичкам | 10 | 09.07.2010 17:12 |
я проста с линуксом сталковаюсь первый раз | vsalda | Флудильня | 7 | 12.06.2010 03:40 |
Клиент не пускает в мир mangos | koloff | Корзина | 1 | 19.04.2010 00:29 |