Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Вывод юникод стринга


Автор: Sergio 13.10.2008, 20:46
Привет. Как правильно вывести юникод стринг:
Код

wchar_t filename[MAX_PATH];
DragQueryFileW((HDROP)buffer, 0, filename, sizeof(filename));
                
wprintf(filename);

Неправильно выводит результат. Когда в строке начинается кирилица, wprintf() прекращает выводит символы в консоль. Почему?

Автор: vinter 13.10.2008, 21:12
Цитата(Sergio @  13.10.2008,  21:46 Найти цитируемый пост)
Неправильно выводит результат. символах "Робочий Стол" wprintf() прекращает выводит символы в консоль. Почему?

вот вроде все буквы знаю, а че написано не понимаю...

Автор: Sergio 15.10.2008, 22:18
Цитата

вот вроде все буквы знаю, а че написано не понимаю... 

Что не понятного здесь? Как выводить юникод стринг в моём случае?

Автор: vinter 16.10.2008, 06:02
Sergio, чем твой случай отличается от других? юзай wcout.

Автор: Pulse69 16.10.2008, 06:03
Локаль поставь сначала.
Код

#include <locale>
...
std::locale::global(std::locale(".1251"));
...


Автор: mrbrooks 16.10.2008, 07:35
Цитата(Sergio @  13.10.2008,  20:46 Найти цитируемый пост)
Когда в строке начинается кирилица, wprintf() прекращает выводит символы в консоль. Почему?

Если под винду gbitim - юзай ChatToOem

Автор: Sergio 17.10.2008, 22:40
А можно перевести wchar_t  в char ?

Автор: mrbrooks 18.10.2008, 10:02
можно.
WideCharToMultiByte() или sprintf() к примеру.

Добавлено через 1 минуту и 40 секунд
Код

char szA[100];
sprintf(szA, "%S", L"Unicode Str");

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)