У меня есть немного утомительного 6 месяцев до года впереди меня. Я работаю над программой с 1 млн. Строк кода (большая часть из них написана в начале/середине 90-х), и было решено, что теперь она должна поддерживать сборку UNICODE. Я исследовал и обнаружил, что многие из лучших практик:Помощь с портированием из нескольких байт в UNICODE в MFC
- используя версию _t многих Microsoft и C++ методы как _stprintf_s() вместо sprintf_s() или _tcsstr() вместо strstr(),
- обертывание всех закодированных строк, которые должны быть TCHAR *, такие как _T («строка») или _T ('c'),
- заменяет большинство символов char * на LPTSTR и большинство const char * с LPCTSTR и char с TCHAR с использованием CA2T() и CT2A() для преобразования между char * и LPTSTR, если необходимо,
Мне было интересно, написал ли кто-нибудь скрипт, способный автоматически делать многие из этих изменений, поскольку они могли бы сэкономить мне МЕСЯЦЫ работы.
Я думаю, что это помощь: http://mihai-nita.net/2007/12/19/tounicode-automating-some-of-the-steps-of-unicode-code-conversion-windows/ – chris
Если это реальное обновление и больше не нужно многобайтов, вам нужно пропустить все вещи '_t' и перейти непосредственно к' wchar_t'. «_t' и' _T »были разработаны как временная помощь примерно 15 лет назад. –
Но есть ли причина не использовать _t и _T? Насколько я могу судить, для установки строк wchar_t по-прежнему требуется _T (""), и использование LPWSTR vs LPTSTR, похоже, не приносит никаких дополнительных усилий. –