Консультация № 62973
17.11.2006, 09:24
0.00 руб.
0 2 2
Здравствуйте уважаемые эксперты! Подскажите пожалуйста как в visual c++ 6.0 настраювается кодировки текста (при использовании функции cout в консольном приложении отображаются траблы вместо русского текста)

Обсуждение

Неизвестный
17.11.2006, 14:08
общий
это ответ
Здравствуйте, Ars 11 www!
Вы пишите в редакторе в кодировке ANSI, а в консольном приложении по умолчанию используется кодировка OEM (CP-866, обычно)
То есть, перед выводом надо конвертировать строку, для чего используется большая группа функций, например CharToOem
Пример в приложении



Приложение:
#include <vcl.h> // для CharToOem #include <stdio.h> // для printf #include <conio.h> // для getch() #pragma argsused int main(int argc, char* argv[]) { char str[]="Привет по-русски"; CharToOem(str, str); printf("%s\n", str); getch(); return 0; ///BOOL CharToOem( /// /// LPCTSTR lpszSrc, // pointer to string to translate /// LPSTR lpszDst // pointer to translated string /// ); } //---------------------------------------------------------------------------
Неизвестный
17.11.2006, 16:48
общий
это ответ
Здравствуйте, Ars 11 www!
Позволю себе поправку.
CharToOem из winuser.h, а в свою очередь из windows.h, и в свою очередь, конечно, из VCL, но раз сказано было visual c++, то следует ограничиться windows.h.
Форма ответа