从多字节字符集转换旧的Visual Studio C ++项目

时间:2017-12-28 14:19:00

标签: c++ visual-studio mfc multibyte-characters

我想将旧的C ++ MFC项目从Visual Studio 2005转移到更新的版本。该项目使用我知道在当前Visual Studio中不再支持的多字节字符集。因此,第一步应该是使项目独立于字符集。一位工作的同事告诉我,如果我在每个文本周围放置一个宏_T(),我就可以这样做。 不幸的是,该项目包含大量静态文本,添加宏需要数周时间。

没有别的办法吗?

1 个答案:

答案 0 :(得分:4)

遗憾的是没有其他方法。您可以尝试使用正则表达式或某些文本编辑器(如sed

自动执行文本编辑

但我个人更希望手动检查所有代码,不要留下多字节字符相关代码:使用_tcslen代替strlen_TCHAR代替char等等。

要考虑的其他变体是使代码明确使用widechars:wcslen而不是strlenwchar_t而不是charL"some string"而不是{{ 1}}等等。

UPD :我也发现了一些好消息“在VC2017中已从MFC中删除了弃用警告[MFC对MBCS的支持已被弃用],我们将在未来版本中继续提供MBCS支持。” (https://blogs.msdn.microsoft.com/vcblog/2013/07/08/mfc-support-for-mbcs-deprecated-in-visual-studio-2013/),所以你可能只是保持原样。