发新帖我要提问
123
返回列表
打印

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

[复制链接]
楼主: enjoy21cn
手机看帖
扫描二维码
随时随地手机跟帖
41
冷漠| | 2009-6-3 09:07 | 只看该作者 回帖奖励 |倒序浏览

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

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

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

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

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

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

sizeof( )?  算错了发送长度,2天都没发现,还在这里振振有词。果然高手,不好下台啦。

使用特权

评论回复
42
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) 这种做法,就是防备像搂主这样的程序员。

使用特权

评论回复
43
电子混混| | 2009-9-21 14:58 | 只看该作者
mark

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则