C++ 在c+中将std::string转换为Unicode字符串+;

C++ 在c+中将std::string转换为Unicode字符串+;,c++,string,unicode,c++builder,C++,String,Unicode,C++builder,我有个问题。我需要将字符串类型转换为unicode。 我知道我喜欢 string.c_str(); 但它在我的代码中不起作用 我有功能 void modify(string infstring, string* poststring) 我需要在备忘录中显示infstring。像一个 Form1->Memo1->Lines->Add("some text "+infstring.c_str()+" some text"); 但编译器告诉我“E2085无效指针加法” 如何解决

我有个问题。我需要将字符串类型转换为unicode。 我知道我喜欢

string.c_str();
但它在我的代码中不起作用

我有功能

void modify(string infstring, string* poststring)
我需要在备忘录中显示infstring。像一个

Form1->Memo1->Lines->Add("some text "+infstring.c_str()+" some text");
但编译器告诉我“E2085无效指针加法”

如何解决我的问题?

使用stringstream

#include <sstream>
std::stringstream ss;
ss << "some text" << mystring << "some text";
Form1->Memo1->Lines->Add(ss.str().c_str());
#包括
std::stringstream-ss;
ss Add(ss.str().c_str());
应该是

Form1->Memo1->Lines->Add(("some text "+infstring+" some text").c_str());
i、 e.将字符串文本添加到
std::string
中,然后使用
c_str()
从中获取
const char*


如果
Add()
函数采用不同的类型,但您没有提供足够的信息来了解您的问题,那么这仍然不起作用。

现在它说“无法将'string'转换为Unicode字符串”。我想,ss.str()返回字符串类型,但我需要unicode字符串。有什么想法吗?你说的“Unicode字符串”是什么意思?这不是一个C++类型,你是什么意思?OP很可能使用C++ Builder(语法匹配它的VCL UI框架),在这种情况下,另一种选择是:<代码> MUM1> > MeMo1-> Letr-> Addit(“某些文本”+字符串(FixStr.CyStrand),FiString,长度())+“一些文本”);code>VCL的
String
类(大写
s
),它将
Add()
作为输入,接受
char*
及其构造函数中的可选长度,并且可以与
char*
值连接以创建临时
String
实例。
Form1->Memo1->Lines->Add(("some text "+infstring+" some text").c_str());