【发布时间】:2014-05-23 18:07:36
【问题描述】:
在 C# 中,您将有一个字符串,要附加到该字符串,我将执行以下操作:
//C#
string str="";
str += "Hello";
str += " world!"
//So str is now 'Hello world!'
但在 AVR 的 C++ 中,我使用 const char *。我怎么能附加到它?
const char * str="";
str += "Hello world!"; //This doesn't work, I get some weird data.
str = str + "Hello world!"; //This doesn't work either
注意:我正在使用 Atmel Studio 6 编写 avr,因此我认为大多数人在 C++ 中使用的功能无法使用,因为我在尝试一些我在网上看到的示例后立即构建失败。我也没有String 数据类型。
【问题讨论】:
-
您没有可用的
std::string? (#include <string>) -
不,我有一个
string.h,允许我使用strlen()等,但没有字符串类型。但是如果我能学会的话,附加到const char *是可以的。 -
你必须自己构建,或者使用普通的 C“字符串”处理函数(strcat 等),并自己管理内存。网络上大约有 15.3 万亿个 C 中的字符串连接示例,应该很容易找到。
-
:(有没有简单的方法可以追加到
const char *? -
如果简单的意思是“使用 += 而不使用
std::string”,那么没有。