在xradstudio中将unicodestring转换为字符串
convert unicodestring to string in xrad studio
我在"Rad Studio 10 Seattle"中遇到问题,我试图从TEdit
对象获取文本输入,但收到一条错误消息,说
E2034无法将"UnicodeString"转换为"string"
我的代码如下:
this->shopVar->addDog(edName->Text, StrToInt(edAge->Text), "male", "dogspecial");
此函数addDog
采用(string, int, string, string)
当我尝试用edName->Text
从TEdit
对象发送文本时,我会收到前面提到的错误消息。
我的问题如下,我可以在edName
上从unicodestring转换为string吗?还是必须更改参数列表的数据类型?如果是,我该怎么做
我一直在寻找这个问题,但没有发现任何与我的问题类似的东西。
您需要先将UnicodeString
数据转换为Ansi,然后再传递。最简单的方法是先将UnicodeString
分配给AnsiString
(或导数),然后使用其c_str()
方法获得char*
指针,std::string
将接受该指针:
this->shopVar->addDog(AnsiString(edName->Text).c_str(), ...);
如果可能,可以考虑重写shopVar
类以使用std::wstring
,然后可以删除Ansi转换:
this->shopVar->addDog(edName->Text.c_str(), StrToInt(edAge->Text), L"male", L"dogspecial");
相关文章:
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 当字符串存储在变量中时,如何将字符串转换为wchar_t
- 如何将这个std::字符串转换为std::基本字符串
- 如何正确将字符串转换为标准::时间::system_clock::time_point?
- 如何在C++中将十六进制字符串转换为文本数据
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 如何从字符串转换为双精度*
- C++:如何将 unix 时间的字符串转换为 *tm?(使用时间错误:"cannot convert 'String' to 'tm*' ")
- 如何在C++中将 Python 字符串转换为其转义版本?
- 如何在 C++11 中将标准::字符串转换为标准::u32字符串?
- 如何将整数字符串转换为整数的二维向量?
- 使用 "stringstream " 将字符串转换为整数
- 将字符串转换为浮点数或整数,而无需使用内置函数(如 atoi 或 atof)
- 将文件复制到自定义位置,存在字符串转换问题
- 将ANSI C字符串转换为UNICODE
- 如何将节点 V8 字符串转换为 C++ 字符串
- 在C++中将字符串转换为双精度,而无需科学记数法
- 使用从文件(stod、strtod、atof)中提取的数据C++从字符串转换为双精度.csv
- 如何在C++中将字符串转换为双精度?
- 将字符串转换为无符号字符数组/字节数组