Показать полную графическую версию : Поддрежка кирилицы в Visual C++
При запуске программы в моем Visual C++ 5.0 кирилица отображается каракулями или не теми символами ( В самом редакторе Visual русский текст печатать можно ). Помогите, как можно решить эту проблему. Все дело скорее всего именно в Visual, так как в моем Turbo Pascal, например, программы с русским текстом отображаются корректно. Создается такое впечатление, что смещена кодировака символов.
Vlad Drakula
05-06-2004, 18:35
Wisp
ты пишешь наверное консольные приложения?!
это праблемма очень известная, дело в том что когда ты пишещб код то применяется Win кодировка, а когда запускается программа то у нее Dos кодировка, в следствии чего сторока в Win кодировке отображается Dos шрифтом.
denbessonov
07-06-2004, 19:53
Стандартных подходов два:
- используй Unicode, т.е. вместо printf("строка"); используй #define UNICODE #include <tchar.h> ... _tprintf(L"строка"); почему-то эта же техника у меня не работает с потоками cin, cout
- используй собственный printf вроде
int conprintf(char* format, ...)
{
char buffer2[1024], buffer[1024]; // наверное, хватит :)
va_list va;
va_start(va, format);
vsprintf(buffer, format, va);
va_end(va);
CharToOem(buffer, buffer2); // или наоборот параметры, не помню
}
вместо обычного printf.
Лично мне второй способ ближе.
Добавлено:
Ой, сорри!
И еще последняя строчка в функции естественно printf(buffer2);
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.