unsigned char Rx[10]={'B',' ','2','0'};
int len=strlen((char *)Rx);
CString str;
str.Format("%d",len);
MessageBox(str);
返回值为4,而sizeof(RX)返回值为10
unsigned char Rx[10]={'B',' ','2','0','/0'};和 unsigned char Rx[10]={"B 20"};是一样的,字符串默认最后加'/0'
本文探讨了C语言中字符串的实际长度与分配内存大小之间的差异。通过实例说明了strlen()函数如何正确计算不包含终止符'/0'的实际字符数量,而sizeof运算符则返回分配给数组的总字节数。
unsigned char Rx[10]={'B',' ','2','0'};
int len=strlen((char *)Rx);
CString str;
str.Format("%d",len);
MessageBox(str);
返回值为4,而sizeof(RX)返回值为10
unsigned char Rx[10]={'B',' ','2','0','/0'};和 unsigned char Rx[10]={"B 20"};是一样的,字符串默认最后加'/0'
2822

被折叠的 条评论
为什么被折叠?