[STM32F4] STM32F4 调用C库返回值错误

[复制链接]
1015|7
 楼主| hxb20122012 发表于 2016-12-26 15:48 | 显示全部楼层 |阅读模式
string_len = strlen(devregister.devProduct);

大家好,我使用这个函数,之前程序调试一直没问题,我今天优化编译之后,发现很多地方的这个函数调用,返回值不对,是一个很大的值,到时系统不能正常工作,请问大家有碰到没,如何解决????
 楼主| hxb20122012 发表于 2016-12-26 15:51 | 显示全部楼层
导致系统完全不能正常工作。
天灵灵地灵灵 发表于 2016-12-26 18:45 | 显示全部楼层
从来没遇到这种基本函数会返回错误的情况。
billypeng 发表于 2016-12-26 19:36 | 显示全部楼层
可能是缓冲区满了,没有结束的0,strlen要找到0才结束。
mmuuss586 发表于 2016-12-26 20:30 | 显示全部楼层
这种标准的函数不会用问题的;

应该是你调用devregister.devProduct的这个不是字符串吧;

zhuomuniao110 发表于 2016-12-26 22:59 | 显示全部楼层
楼上很对,你的那个数据看着像是一个结构体成员,估计是这里出了问题。
ticomi 发表于 2016-12-27 08:29 | 显示全部楼层
看下这个函数怎么实现的就明白了,需要找到字符的“\0”才算结束,如果没有找到肯定会报错的。
Ketose 发表于 2016-12-27 10:20 | 显示全部楼层
devregister.devProduct 是数组吧。没有“\0”结束符。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

74

主题

564

帖子

1

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