Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2011, 11:48   #1
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию MessageBox и иероглифы

некий метод возвращает мне указатель типа void
Код:
MessageBox (0, (LPWSTR)ErrorBuf->GetBufferPointer (), L"Caption", MB_OK);
ErrorBuf->GetBufferPointer () - void*
а мне выводит иероглифы. не знаю что делать, подскажите пожалуйста.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 10.03.2011, 11:54   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а если так:
Код:
MessageBoxA (0, (LPSTR)ErrorBuf->GetBufferPointer (), "Caption", MB_OK);
?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.03.2011, 11:57   #3
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Пепел Феникса, неа, не получается (вообще не компилится, подчеркивает вде строки эти). У меня главная функция вот так выглядит (если это надо) :
Код:
int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                      LPSTR lpCmdLine, int nCmdShow)
Может с юникодом что?
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 10.03.2011, 12:03   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да выглядит то правильно, но ругается то как?

насчет Юникода, у вас текст буфера в какой кодировке то?(я вам предложил в АНСИ вывести, но видимо ошибся где то(у меня компиля просто нет под рукой чтоб проверить)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.03.2011, 12:06   #5
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Цитата:
Error 1 error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'LPSTR' to 'LPCWSTR' c:\users\alexander\documents\visual studio 2010\projects\learningdirectx\final directx\finaldirectx\drawcube.cpp 59
3 IntelliSense: argument of type "const char *" is incompatible with parameter of type "LPCWSTR" c:\users\alexander\documents\visual studio 2010\projects\learningdirectx\final directx\finaldirectx\drawcube.cpp 59
2 IntelliSense: argument of type "LPSTR" is incompatible with parameter of type "LPCWSTR" c:\users\alexander\documents\visual studio 2010\projects\learningdirectx\final directx\finaldirectx\drawcube.cpp 59
Ругается так. А текст буфера хз в какой кодировке.

В ANSI кодировке.
Код:
MessageBoxA (0, (LPCSTR)ErrorBuf->GetBufferPointer (), "Caption", MB_OK);
попробывал заюзать эту функцию. Все вывелось нормально английскими буквами.
спасибо за помощь.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 10.03.2011, 12:22   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
вообще не компилится, подчеркивает вде строки эти
дык судя по ошибке вы постпрефикс A не перенесли с моего примера
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Иероглифы в командной строке ac1d_buRn Операционные системы общие вопросы 8 26.02.2011 20:27
Вместо русского иероглифы Kart Общие вопросы C/C++ 3 20.07.2009 09:25
русский язык - иероглифы Артэс Общие вопросы C/C++ 20 16.03.2008 10:36
Иероглифы в Equation mitrandir Microsoft Office Word 9 25.09.2007 09:06