计算字符数组长度,用strlen 与 sizeof 的原理与区别

遇到个坑,定义了一个字符数组 

  

    unsigned char buff[6];for(i=0;i<6;i++)
    {
        buff[i] = 0;
    }

然后用串口发送函数:

write(fd, buff, strlen(buff));

却发现串口一直未收到数据,原来是strlen遇到' '则结束计算长度。所以发送的数据一直为空。

关于sizeof与strlen的具体介绍:http://blog.csdn.net/sjtu_huang/article/details/6533140

strle是用来计算字符串长度,sizeof是用来计算字符数组长度, 字符串长度与字符数组不能完全划等价