|
Проблема с Русскими буквами в консольном приложении под Win2000.
|
|||
---|---|---|---|
#18+
Есть консольное приложение (не UNICODE) под Win2000. Код типа: ... char buff[256]; HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); CharToOem("абвгдежз", buff); WriteConsoleOutputCharacter(hStdout, buff, lstrlen(buff), coord, &dwWrttn); ... печатает типа: "а д жз" (без кавычек :)). Под Win98 печатает слово нормально... Знающие люди, подскажите, в чем дело, что подправить! Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2003, 14:10 |
|
Проблема с Русскими буквами в консольном приложении под Win2000.
|
|||
---|---|---|---|
#18+
Похоже на глюк функции WriteConsoleOutputCharacter. Я вижу три варианта: 1. Использовать WriteConsole; 2. Перейти на Unicode (хотя бы в вызове этой функции); 3. Требовать патч от Microsoft. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2003, 16:41 |
|
Проблема с Русскими буквами в консольном приложении под Win2000.
|
|||
---|---|---|---|
#18+
спасибо! обязательно проверю. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2003, 10:59 |
|
Проблема с Русскими буквами в консольном приложении под Win2000.
|
|||
---|---|---|---|
#18+
2 smike 1. WriteConsole работает нормально. 2. (если не ломы отвечать) а как перейти на использование Unicode в отдельном куске кода? я пишу типа: ... WCHAR wsBuff[256]; LPCTSTR pszSample = "абвгдежз"; nRetCode = MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, pszSample, -1, wsBuff, 256); WriteConsoleOutputCharacter(hOut, (LPCTSTR)wsBuff, lstrlen((LPCTSTR)wsBuff), coord, &dwWrttn); ... перекодировка происходит вроде нормально, а печатает кракозябры... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2003, 11:57 |
|
Проблема с Русскими буквами в консольном приложении под Win2000.
|
|||
---|---|---|---|
#18+
Нужно поменять кодовую страницу с CP_ACP на CP_OEMCP: MultiByteToWideChar(CP_OEMCP,...) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2003, 12:05 |
|
Проблема с Русскими буквами в консольном приложении под Win2000.
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
А зачем такие сложности??? Почему бы не использовать старые printf или puts? Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2003, 18:37 |
|
Проблема с Русскими буквами в консольном приложении под Win2000.
|
|||
---|---|---|---|
#18+
изначально был вопрос написать небольш. программу, чтобы показать ее FoxPro-человеку, и неизв., понимает ли он c runtime, зато наверно понимает WinApi. А почему puts проще чем WriteConsole...? Числом аргументов? Зато нашелся буг... 2 smike: (все насчет Unicode) преобразов. в OEM страницу- это обязательно. Может быть потом еще WriteConsoleOutputCharacterW с буквой W на конце, ну и корректную длину строки указать. я попробовал - вроде работает, и без глюков - как ты и сказал. thanks. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2003, 11:41 |
|
|
start [/forum/topic.php?fid=57&msg=32098021&tid=2036441]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 135ms |
0 / 0 |