C++ 在c+中将std::string转换为Unicode字符串+;
我有个问题。我需要将字符串类型转换为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无效指针加法” 如何解决
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());