如何将字符添加到字符数组
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=]';
我想将字符添加到字符数组。我的代码是
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=]';