串口接收到的数据放到数组中之后与指定的字符串比较有.....

2020-02-05 09:05发布

用串口接收电脑传来的一串字符,放入数组char a[200]中
然后我想判断其中有没有"hello”这几个字符,有没有好的办法?
我现在的办法是一个一个找,从a中先找到h,看下一个,如果是e,再下一个,以此类推,不对的就退出比较
然后再往后找下一个h,继续比较。。。。
这样的算法对么?
如果我特定的字符是50个长度怎么办?感觉效率很低?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
nydns
1楼-- · 2020-02-05 20:57
我也想知道.串口接收到的数据如何放到数组中去.试了很方法.不行啊.
xinzhi1986
2楼-- · 2020-02-05 21:13
nydns 发表于 2012-6-13 08:55
我也想知道.串口接收到的数据如何放到数组中去.试了很方法.不行啊.

放到数组挺简单的啊,设置一个buffer[100]这样的缓冲区,然后收到一个往里丢一个,指针往后移,收到一个往里丢一个,指针再往后移就好了啊~
sunliezhi
3楼-- · 2020-02-05 22:53
nydns 发表于 2012-6-13 08:55
我也想知道.串口接收到的数据如何放到数组中去.试了很方法.不行啊.

试试sprintf
nydns
4楼-- · 2020-02-06 02:33
本帖最后由 nydns 于 2012-6-13 11:40 编辑
sunliezhi 发表于 2012-6-13 11:22
试试sprintf


sprintf(t,%s,SBFU);
这个我试了不行....是不是我写错了呢....头都大了.
nydns
5楼-- · 2020-02-06 03:44
 精彩回答 2  元偷偷看……
jswd0810
6楼-- · 2020-02-06 07:14
nydns 发表于 2012-6-13 11:40
for(j=0;j

不能那样写,应该是每次接受完成后以后的数据才放到里面去,不能用循环语句,

一周热门 更多>