char转换错误?
Char conversion is wrong?
我有这个:
Serial.write(charBuf[0]); //gives 5
String data(charBuf);
Serial.write(data); //gives nothing (space)
第一个是打印 5 ,第二个什么都不打印。我错过了什么?它与 NULL 终止的东西有关吗?
这是创建缓冲区的方式:
int len=1;
char charBuf[len];
for(int k=ACT_THRESH;k<ACT_THRESH+len;k++)
{
charBuf[k-ACT_THRESH]= EEPROM.read(k);
}
int len = 1;
int str_len = 0;
char charBuf[16];
for(int k = ACT_THRESH; k < ACT_THRESH + len && str_len < sizeof(charBuf); k++)
{
charBuf[str_len++]= EEPROM.read(k);
}
charBuf[str_len] = '[=10=]';
但是我没有得到循环的目标 if len = 1
我有这个:
Serial.write(charBuf[0]); //gives 5
String data(charBuf);
Serial.write(data); //gives nothing (space)
第一个是打印 5 ,第二个什么都不打印。我错过了什么?它与 NULL 终止的东西有关吗?
这是创建缓冲区的方式:
int len=1;
char charBuf[len];
for(int k=ACT_THRESH;k<ACT_THRESH+len;k++)
{
charBuf[k-ACT_THRESH]= EEPROM.read(k);
}
int len = 1;
int str_len = 0;
char charBuf[16];
for(int k = ACT_THRESH; k < ACT_THRESH + len && str_len < sizeof(charBuf); k++)
{
charBuf[str_len++]= EEPROM.read(k);
}
charBuf[str_len] = '[=10=]';
但是我没有得到循环的目标 if len = 1