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



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

没有别的办法吗?

不幸的是,没有其他办法。您可以尝试使用正则表达式或某些文本编辑器(如 sed (自动进行文本编辑。

但就我个人而言,我更愿意手动检查所有代码,没有与多字节字符相关的代码:使用 _tcslen 而不是 strlen_TCHAR 而不是 char 等。

另一个要考虑的变体是使代码显式使用宽字符:wcslen而不是strlenwchar_t而不是charL"some string"而不是_T("some string"),等等。

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

相关内容

  • 没有找到相关文章

最新更新