Страница 1 из 1

C++

Добавлено: 16 авг 2010, 22:20
region
VS 2008 -

Можно ли как то в настройках компилятора указать чтоб автоматом преобразовавало
к примеру:
MessageBox(NULL,"Hello, World!","Test",MB_OK);
Так написать нельзя! (

приходиться так перевести:
wchar_t name[]=L"Hello, World!";

и только после: MessageBox(NULL,name,name,MB_OK);

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

Спойлер
#include <windows.h>
#include <tchar.h>
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
wchar_t name[]=L"Hello, World!";
MessageBox(NULL,name,name,MB_OK);
return 0;
}

Re: C++

Добавлено: 16 авг 2010, 22:28
fernir
Если мне память не изменяет строковые константы в VC нужно макросом _T помечать, например, MessageBox(NULL, _T("Hello, World!"), _T("Test"), MB_OK); Тогда и ANSI и UNICODE версии будут собираться нормально. Со стандартными функциями такая же фигня, вместо strlen, _tclen и т.п.

Re: C++

Добавлено: 16 авг 2010, 22:32
region
fernir писал(а):Если мне память не изменяет строковые константы в VC нужно макросом _T помечать, например, MessageBox(NULL, _T("Hello, World!"), _T("Test"), MB_OK); Тогда и ANSI и UNICODE версии будут собираться нормально. Со стандартными функциями такая же фигня, вместо strlen, _tclen и т.п.
Спасибо.

MessageBox(NULL,_T("Hello, World!"),_T("Hello, World!"),MB_OK);

скомпилировалось =)

Re: C++

Добавлено: 16 авг 2010, 23:02
[TEQUILA]
Долго сидел втыкал в чем же у тебя трудность, потом дошло :) Я ж пишу на .Net C# для web, там так мудрить не надо

Re: C++

Добавлено: 16 авг 2010, 23:38
region
[TEQUILA], :crazy: да на си шарп там нет проблем )))