Пишу консольную программу под Windows 2000 на VC++6.0
И вот я сомневаюсь: надо ли ее делать в Unicode?
Я понимаю, что если я сделаю ее в ANSI, работать будет.
Но наверно лучше в Unicode, раз под 2000.
Если я правильно рассуждаю, то как настроить среду, чтоб и макросы все были настроены
и wmain вызывалась и чтоб std::cout умел различать эти строки (если такое вообще возможно).
Здравствуйте Amor, Вы писали:
A>Пишу консольную программу под Windows 2000 на VC++6.0 A>И вот я сомневаюсь: надо ли ее делать в Unicode? A>Я понимаю, что если я сделаю ее в ANSI, работать будет. A>Но наверно лучше в Unicode, раз под 2000. A>Если я правильно рассуждаю, то как настроить среду, чтоб и макросы все были настроены A>и wmain вызывалась и чтоб std::cout умел различать эти строки (если такое вообще возможно).
А что за прога? Зачем в Unicode на консоле?
Она может что то обрабатывать, например Unicode текст, но на консоль лучше выводить все на английском (всякие консоли бывают ).
Здравствуйте comer, Вы писали:
C>А что за прога? Зачем в Unicode на консоле? C>Она может что то обрабатывать, например Unicode текст, но на консоль лучше выводить все на английском (всякие консоли бывают ).
Вообщем-то я не знаю как это делается.
Я знаю, что 2000 работают с Unicode, ну типа наверно и консольные приложения надо делать консольными.
Есть ведь такая функция wmain(int, wchar_t).
Может я и ошибаюсь....
Здравствуйте Amor, Вы писали:
A>Пишу консольную программу под Windows 2000 на VC++6.0 A>И вот я сомневаюсь: надо ли ее делать в Unicode? A>Я понимаю, что если я сделаю ее в ANSI, работать будет. A>Но наверно лучше в Unicode, раз под 2000. A>Если я правильно рассуждаю, то как настроить среду, чтоб и макросы все были настроены A>и wmain вызывалась и чтоб std::cout умел различать эти строки (если такое вообще возможно).
Лучше всего включить файл tchar.h
там есть макросы для работы со строками и с Юникодными и с MultiByte
есть соответствено _tmain, _tWinMain,
если нужен cout и stl-ные string-и, то для этого нужно что-то вроде:
Здравствуйте comer, Вы писали:
C>А что делаешь то, если конечно это не военная тайна?
Ничего особенного, тестовая программка для WNet, это даже не важно.
По ходу дела, так никто не делает...
Судя по ответу __Nicolay как-то это заморочено и не заточено под иснользование Unicode,... может я че не понимаю?
Вот создаешь проект ATL — есть конфигурации с Unicode. Все ясно — разные могут быть приложения. А здесь...
Здравствуйте Amor, Вы писали:
A>Здравствуйте comer, Вы писали:
C>>А что делаешь то, если конечно это не военная тайна?
A>Ничего особенного, тестовая программка для WNet, это даже не важно. A>По ходу дела, так никто не делает... A>Судя по ответу __Nicolay как-то это заморочено и не заточено под иснользование Unicode,... может я че не понимаю? A>Вот создаешь проект ATL — есть конфигурации с Unicode. Все ясно — разные могут быть приложения. А здесь...
А что тебя смущает? Добавь новую конфигурацию. В настройках этой конфигурации С/С++->General в поле Preprocessor def пропиши _UNICODE и будет все "чинно-ладно как в старину". Да, если уж на то пошло, создавать нужно 2 конфигурации одну для уникод дебаг, другую уникод релиз. Кроме того никто тебе не мешает и удалять ненужные конфигурации. Их может сколько твоей душе угодно. Одна например под уникод и заточена под оптимизацию по быстродействию, другая уникод и дебажная третья уникод и заточенная на оптимизацию по размеру генер кода и т.д.
Здравствуйте Amor, Вы писали:
A>Здравствуйте comer, Вы писали:
C>>А что делаешь то, если конечно это не военная тайна?
A>Ничего особенного, тестовая программка для WNet, это даже не важно. A>По ходу дела, так никто не делает... A>Судя по ответу __Nicolay как-то это заморочено и не заточено под иснользование Unicode,... может я че не понимаю? A>Вот создаешь проект ATL — есть конфигурации с Unicode. Все ясно — разные могут быть приложения. А здесь...
Ну ты можешь сам создать конфигурацию с поддержкой UNICODE
Если у тебя VC6
Build->Configurations->Add...
Называешь конфигурацию
Unicode Debug
Copy Settings from :
Debug
В project Settings->C++->General->Preprocessor definitions вместо _MBCS : UNICODE, _UNICODE
после этого в этой конфигурации все макросы начинающиеся на _t разворачиваются в юникодные
например
T("string") -> L"string"
_tprintf -> wprintf
_tcscpy -> wcscpy
и т.п.