1

我是 C++ 新手,在将 UnicodeString 转换为字符串时遇到问题,所以现在寻找最简单的方法来从一种类型转换为另一种类型。

我想使用基本的windows函数,它需要带有UnicodeString的字符串,如何使代码工作?

UnicodeString Exec = "notepad";
WinExec(Exec.c_str(), 0);

使用的环境是c++ builder xe2

4

2 回答 2

2

Astd::string不能存储 unicode 数据。为此,您将需要一个 std::wstring 。

我以前从未听说过 UnicodeString,但在这里查看 API:

http://docwiki.embarcadero.com/Libraries/XE2/en/System.UnicodeString_Methods

它有一个名为 .c_str() 的函数,它返回一个 wchar_t*,然后您可以使用它来构造一个std::wstring

如果你真的需要一个 std::string,那么看看这个答案。

如何将 wstring 转换为字符串?

于 2013-04-23T06:32:47.613 回答
1

如果您正在 C++ 中寻找完整的 unicode 支持,请选择 ICU API。这是该网站,您可以在其中找到有关它的所有信息。http://site.icu-project.org/

于 2014-06-11T21:04:03.077 回答