3

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

string.c_str();

但它在我的代码中不起作用。

我有功能

void modify(string infstring, string* poststring)

在其中我需要在备忘录中显示 infstring。像一个

Form1->Memo1->Lines->Add("some text "+infstring.c_str()+" some text");

但编译器说我“E2085 无效指针添加”

我该如何解决我的问题?

4

2 回答 2

5
Form1->Memo1->Lines->Add("some text "+infstring.c_str()+" some text");

应该

Form1->Memo1->Lines->Add(("some text "+infstring+" some text").c_str());

即,您将字符串文字添加到std::string then用于c_str()从中获取 a const char*

如果函数采用不同的类型,那仍然不起作用Add(),但是您没有提供足够的信息来知道您在问什么。

于 2013-02-20T11:20:25.037 回答
2

使用字符串流

#include <sstream>
std::stringstream ss;
ss << "some text" << mystring << "some text";
Form1->Memo1->Lines->Add(ss.str().c_str());
于 2013-02-20T11:03:08.320 回答