我是c ++的新手,并且在将UnicodeString转换为字符串时遇到问题,所以现在正在寻找最简单的方法将一种类型转换为另一种类型。
我想使用基本的windows函数,需要使用UnicodeString的字符串,如何使代码工作?
UnicodeString Exec = "notepad";
WinExec(Exec.c_str(), 0);
使用的环境是c ++ builder xe2
答案 0 :(得分:3)
std::string
无法存储unicode数据。你需要一个std :: wstring。
我之前从未听说过UnicodeString,但在这里查看API:
http://docwiki.embarcadero.com/Libraries/XE2/en/System.UnicodeString_Methods
它有一个名为.c_str()的函数,它返回一个wchar_t *,然后你可以用它来构造std::wstring
如果你真的需要一个std :: string,那么看看这个答案。
答案 1 :(得分:1)
如果您正在寻找C ++中完整的unicode支持,请转到ICU API。这是一个网站,您可以在其中找到有关它的一切。 http://site.icu-project.org/