我想添加更多来自不同来源的字符串,但我似乎不起作用......
我的代码
int num = 0;
string s = std::to_string(num);
this->richTextBox1->Text = "Copying files... (" + s + "%)"; //this doesn't work
P.S:如何添加代码,如 -
num = num + 1
它不起作用是因为
Text
属性不是 std::string
。
您可以使用
std::string
将结果 const char*
转换为 c_str()
:
this->richTextBox1->Text = ("Copying files... (" + s + "%)").c_str();
从描述中并不清楚涉及哪个环境,但由于使用了C++,我假设它是带有WinForms的托管C++而不是C#。
因此,给定示例的工作代码如下所示:
// Environment is Managed C++ with .Net WinForms!
int num = 0;
std::string s = std::to_string(num);
String ^S = gcnew System::String(s.c_str()); // Convert std::string in System::String
this->richTextBox1->Text = "Copying files... (" + S + "%)"; //this code does compile now!
变量 s 对于 std::string 来说曾经很小,对于 System::String 来说曾经很大 S。
虽然我不太明白问题是什么,但如何实施 num = num+1;,因为这以同样的方式工作。
也可以这样写:num+=num;