根据 MSVC++ 中的 unicode 设置自动在 std::string 和 std::wstring 之间更改?
我正在编写一个 DLL,希望能够在 MSVC++2010 中的 unicode 和多字节设置之间切换。例如,我使用 _T("string")
和 LPCTSTR
和 WIN32_FIND_DATA
而不是 -W 和 -A 版本等。
现在我想要 std::strings 根据 unicode 设置在 std::string
和 std::wstring
之间变化。这可能吗?否则,这可能最终会变得极其复杂。
I'm writing a DLL and want to be able to switch between the unicode and multibyte setting in MSVC++2010. For example, I use _T("string")
and LPCTSTR
and WIN32_FIND_DATA
instead of the -W and -A versions and so on.
Now I want to have std::strings which change between std::string
and std::wstring
according to the unicode setting. Is that possible? Otherwise, this will probably end up getting extremely complicated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么不像 Win32 API 那样:在内部使用宽字符,并提供
DoSomethingA
函数的字符转换外观,这些函数只需将其输入转换为 Unicode。也就是说,您可以定义一个
tstring
类型,如下所示:或者可能:
Why not do like the Win32 API does: Use wide characters internally, and provide a character-converting facade of
DoSomethingA
functions which simply convert their input to Unicode.That said, you could define a
tstring
type like so:or possibly: