2011-12-14 37 views
0

我正在为autodesk 3dsmax编写一个插件,并且他们建议为每个字符串文字使用_T(x)宏以使其与unicode一起工作。我在这段代码中使用了stl string类。所以我必须重写代码:string(“foo”)to:string(_T(“foo”))?实际上,stl string类没有wchars的构造函数,所以它没有意义,是吗?使用带unicode的STL字符串

THX

+0

我不认为std :: string取决于任何编码。你可以在那里存储unicode编码的字符串,但是成员函数可能会返回有趣的结果:)这取决于你对字符串做了什么。 – LiMuBei 2011-12-14 14:03:08

回答

0

看看“T”宏的定义 - 它在“Unicode”构建中扩展为“L”,或者在“非Unicode”构建中扩展为“L”。如果你想继续使用字符串calss并按照你的插件的建议,最好的办法就是使用类似tstring的东西,它们遵循相同的规则。但事实是 - 所有这些“T”业务在10年前都有很多意义 - 所有现代Windows版本都只有Unicode,您可以使用wstring。

0

您可以创建一个自己的字符串类说xstring,并使用_T常量,然后在内部,这取决于Unicode或不切换到stringwstring。无论是或实例化xstring<yourchartype>