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