新手入门
- 积分
- 17
- 金钱
- 17
- 注册时间
- 2024-1-22
- 在线时间
- 3 小时
|
2金钱
本帖最后由 hopelessbird 于 2024-1-23 22:12 编辑
各位大佬好,有个问题想向各位大佬请教:
我在使用keil5.23给stm32F407编程的时候,需要将字符串数组转换成整型(例如字符串“1456”转成整数1456),自然而然想到使用C标准库stdlib中的atoi,atol或者strtol,但是当我include <stdlib.h>后,调用atoi函数时发现一个奇怪的问题:当字符以1开头时,转换的结果总会缺少最高的1位或者2位,例如“1456”转换后就剩下56了,以下是调试时的截图,测试atol,strtol,strtoul都有这个问题,想请问一下各位大佬遇到过这个问题吗?是什么原因造成的?有什么解决方法吗?谢谢大家了。
经过检索有人很早以前在arm community上报告过类似的问题,但是没有说解决方法。
https://community.arm.com/support-forums/f/keil-forum/22086/atoi-strol-functions-problems
|
|