Безопасно ли вводить unsigned short в wchar_t и наоборот? - PullRequest
2 голосов
/ 31 марта 2011

Hello Я мигрирую проект из Visual Studio 6.0 в Visual Studio 2005.

Проблема, с которой я сталкиваюсь, заключается в том, что ... в VS 6.0 wchar_t был просто typecast unsigned short, но в VS2005 wchar_t встроен в тип данных.

В проекте предыдущие программисты использовали wchar_t и unsigned short взаимозаменяемо. Но в Vs 2005 он показывает ошибки вроде не может конвертировать из wchar_t в unsigned short и наоборот.

Итак, мой вопрос: можем ли мы безопасно привести wchar_t к unsigned short и наоборот, или нам нужны такие функции, как mbstowcs и wcstombs?

Ответы [ 3 ]

1 голос
/ 25 февраля 2012

Изменение параметра Обрабатывать wchar_t как нативный тип, чтобы НЕТ работал для меня :).VC ++ 2010 express.

1 голос
/ 31 марта 2011

Вы можете использовать / Zc: wchar_t- (или его эквивалент в диалоге настроек проекта), чтобы отключить функцию wchar_t-as-native-type в VS 2005:

http://msdn.microsoft.com/en-us/library/dh8che7s%28v=vs.80%29.aspx

0 голосов
/ 31 марта 2011

С вами, вероятно, все будет в порядке, но, если бы это был я, я бы выполнил поиск, заменил и изменил бы ссылки на символы Юникода на wchar_t. Для начала вы можете просто заставить свой код работать с будущими изменениями в библиотеках. Это также облегчит чтение вашего кода.

Если я что-то упустил, mbstowcs и wcstombs не имеют к этому никакого отношения. Они для преобразования между Unicode и множеством. Похоже, все твои вещи - Unicode.

...