c++ - 在 C++ 中使用 Arduino 上的数组

标签 c++ arrays string arduino

我正在尝试操作数组,但我对我需要做的事情有点困惑。我想做类似的事情:

char myArray[10];

myArray[0] = 0xA9;
myArray[1] = 'D';
myArray[2] = 'S';
myArray[3] = "qwert";
myArray[9] = 'C';
myArray[10] = '\0';

String fullArray = String(myArray);

当然,这行不通,但我想要这样的东西,如果可能的话,操纵其中一个数组。这可能吗?

我试过了,但是我不能一次输出整个字符串。

char* myStrings[] =
    {"This is string 1",
     "This is string 2",
     "This is string 3",
     "This is string 4",
     "This is string 5",
     "This is string 6"};

void setup(){
    Serial.begin(9600);
}

void loop(){
    for (int i = 0; i < 6; i++){
        Serial.println(myStrings[i]);
        delay(500);
    }
}

最佳答案

你的问题是因为你正在定义一个字符数组,而不是一个数组的字符数组(即字符串)。

但是:

不要使用char*。使用 字符串。它更容易操作,您不必担心指针/原始值。

例如:

String myStrings[3] = {"a", "b", "c"};

for (int i = 0; i < 3; i++) {
    Serial.print(myStrings[i]);
}

输出:

abc

关于c++ - 在 C++ 中使用 Arduino 上的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16624399/

相关文章:

c - 在 c 中重新分配 char** 数组(Seg fault core dumped)

java 8中的字符串占用内存较少

c - 从 fgets() 输入中删除尾随换行符

c++ - BOOST_PP_ITERATE() 结果为 "no such file or directory"

c++ - 如果只有一个线程停止,ptrace 是否可以从多线程进程读取/写入数据?

java - 使用 BufferedReader 进行递归

c# - 数组的前向和后向搜索算法

c - 查找两个不同数组的相同元素

c++ - 当模板类的特化允许使用比声明的更多的模板参数时?

C++:强制转换的 char 指针指向数据的意外部分