急啊!单片机串口通信程序问题!(6.4更新中)

[复制链接]
冷漠 发表于 2009-6-3 09:07 | 显示全部楼层

天下第一算错了发送字节长度!难怪要被学生哄笑。

“f(char* buffer, int size) 必须有意这么做,目的是强迫使用f者去考虑buffer大小,这能够在很大程度上抑制buffer overflow 的问题,特别是对于团队合作的项目。初学者往往注重微观,而忽略了宏观上的问题。”

“这样写太危险,万一buffer中没有'\0'呢!”

********************************************************************

2位说话总是跑题,老拿一般数组的概念说事。

再强调一遍: 这里谈的是字符串发送问题您定义的是字符串,是另一类重要类型。而不是一般数组!C字符串必然以'\0'结尾。这不是以您个人意志决定的。

sizeof( )?  算错了发送长度,2天都没发现,还在这里振振有词。果然高手,不好下台啦。
highgear 发表于 2009-6-3 09:34 | 显示全部楼层

冷嬷嬷啊,你看清楚了

搂主的定义:
uchar a[3]={'C','I','S'};
uchar b[5]={'S','K','5','3','0'};
uchar c[6]={'F','D','5','0','0','0'};
uchar d[2]={'T','W'};

另外:我给出的是一个通用程序,不管字符还是binary 数组。一个根本不了解'\0' 后果的刘公公的“改动“实在是胡扯,至少搂主的这种定义就会产生问题。
f(char* buffer, int size) 这种做法,就是防备像搂主这样的程序员。
电子混混 发表于 2009-9-21 14:58 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部