Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 将STL字符串与unicode一起使用_String_Unicode - Fatal编程技术网

String 将STL字符串与unicode一起使用

String 将STL字符串与unicode一起使用,string,unicode,String,Unicode,我正在为autodesk 3dsmax编写一个插件,他们建议对每个字符串文字使用_Tx宏,使其也能与unicode一起工作。我在这段代码中经常使用stl字符串类。那么我必须将代码:stringfoo重写为:string\u Tfoo吗?实际上stl字符串类没有用于wchars的构造函数,所以它没有意义,不是吗 Thx您可以创建一个自己的string类,比如xstring,并使用_T表示常量,然后在内部使用,具体取决于unicode是否切换到string或wstring。要么是这个,要么是实例化x

我正在为autodesk 3dsmax编写一个插件,他们建议对每个字符串文字使用_Tx宏,使其也能与unicode一起工作。我在这段代码中经常使用stl字符串类。那么我必须将代码:stringfoo重写为:string\u Tfoo吗?实际上stl字符串类没有用于wchars的构造函数,所以它没有意义,不是吗


Thx

您可以创建一个自己的string类,比如xstring,并使用_T表示常量,然后在内部使用,具体取决于unicode是否切换到string或wstring。要么是这个,要么是实例化xstring看看T宏的定义——在Unicode版本中它扩展为L,在非Unicode版本中它什么都没有。如果你想继续使用字符串cals并遵循插件的推荐,最好的办法是使用类似的东西,遵循相同的规则


但事实是——所有这些在10年前就很有意义了——所有现代Windows版本都是Unicode版本,您可以使用WSString。

我认为std::string不依赖于任何编码。您可以将unicode编码的字符串存储在其中,但成员函数可能会返回有趣的结果:这取决于您对字符串所做的操作。使用这些宏很久以前就没有意义了。在代码中使用std::wstring。