如何将字符添加到字符数组

how to add characters to character array

我想将字符添加到字符数组。我的代码是

char x[100];
int i;
void setup() {
Serial.begin(115200);
}
void loop() {
for ( i=0; i<11;i++)
{
  x[i]=(char)i;
}
Serial.println(strlen(x));
for (i=0;i<11;i++)
{
  Serial.print(x[i]);
}

delay(1000);
}

我希望数组为 x[0] = 0 ,x[1] = 1, x[2] = 2 ......x[10]=10

但数组似乎是空的 Serial.println(strlen(x)); returns 0 Serial.print(x[i]); 什么也不打印。 如何向数组添加字符???

Oups,按照惯例,C 字符串是一个以空字节结尾的 char 数组。所有 strxx 函数都遵循此约定。

由于数组的第一个字符是...0,strlen 在索引 0 处找到一个终止空值,并正确地说字符串的长度是 0。

此外,代码为0到10的所有字符(假设为ASCII)都是控制不可打印字符。

我假设你想做的是

for ( i=0; i<11;i++)
{
  x[i]= '0' + i; /* 0 to 9 and : */
}
x[11] = '[=10=]';   /* terminate the array with a null to make it a C string */

替换:x[i] = (char)i; 至:x[i]=(char) ( ((int) '0') + i ); 并添加 x[11] = '[=12=]';