在xrad studio中将unicodestring转换为字符串

时间:2016-01-07 17:27:46

标签: c++ string c++builder unicode-string

我在" Rad Studio 10 Seattle"我试图从TEdit对象获取文本输入,我得到一个错误消息说

  

E2034无法转换' UnicodeString'到'字符串'

我的代码如下:

this->shopVar->addDog(edName->Text, StrToInt(edAge->Text), "male", "dogspecial");

此功能addDog需要(string, int, string, string)
当我尝试使用TEditedName->Text对象发送文本时,我得到前面提到的错误消息。

我的问题如下,我可以在edName上从unicodestring转换为字符串,还是我必须更改参数列表的数据类型?如果是这样,我该怎么做? 我一直在寻找这个问题,但没有发现任何类似于我的问题。

1 个答案:

答案 0 :(得分:0)

您需要先将UnicodeString数据转换为Ansi,然后再传递给它。最简单的方法是先将UnicodeString分配给AnsiString(或派生词),然后使用其c_str()方法获取char*指针,{{1}将接受:

std::string

如果可能,也许可以考虑重写您的this->shopVar->addDog(AnsiString(edName->Text).c_str(), ...); 课程以使用shopVar,然后您可以删除Ansi转换:

std::wstring
相关问题