sprintf 和 sscanf 使用中容易死机

[复制链接]
 楼主| autuy123 发表于 2010-7-12 16:58 | 显示全部楼层 |阅读模式
sprintf 和 sscanf
在程序中使用,很容易死机!

是不是这些文件不可以用呢?
mohanwei 发表于 2010-7-12 17:05 | 显示全部楼层
你是怎么用的?
 楼主| autuy123 发表于 2010-7-12 17:23 | 显示全部楼层
sprintf ((char *)ascBuff, "%.3f", data)

sscanf((char*)ascBuff,"%f",  &data);
香水城 发表于 2010-7-12 17:33 | 显示全部楼层
缓冲区ascBuff是否太小了?
 楼主| autuy123 发表于 2010-7-12 17:35 | 显示全部楼层
30     长度

一般建议多少呢!
 楼主| autuy123 发表于 2010-7-12 17:36 | 显示全部楼层
ascBuff[30]
香水城 发表于 2010-7-12 17:36 | 显示全部楼层
你看看手册吧,我也不知道。
 楼主| autuy123 发表于 2010-7-12 17:51 | 显示全部楼层
哪里有手册呀!

呵呵   

在MDK 中也没有说明
香水城 发表于 2010-7-12 17:56 | 显示全部楼层
哪里有手册呀!

呵呵   

在MDK 中也没有说明
autuy123 发表于 2010-7-12 17:51


那就自己试验一下吧,:P
 楼主| autuy123 发表于 2010-7-12 18:14 | 显示全部楼层
hgjinwei 发表于 2010-7-12 21:20 | 显示全部楼层
堆栈有多少?貌似那几个函数嵌套很深啊。
 楼主| autuy123 发表于 2010-7-12 21:34 | 显示全部楼层
是呀,我把启动文件中的堆栈已经修改成
Stack_Size      EQU     0x00000800  
以前的是
Stack_Size      EQU     0x00000200

我在测试一下, 希望是这个低级问题!!

呵呵
astudent 发表于 2010-7-12 21:58 | 显示全部楼层
关注
linqing171 发表于 2010-7-12 22:02 | 显示全部楼层
这两个函数使用了变参,变参压栈的东西太多。
你的data声明的时候是什么类型?
 楼主| autuy123 发表于 2010-7-12 22:35 | 显示全部楼层
data 是FLOAT 的
呵呵
现在把堆栈 放到 2K 了
好了
明天就可以结贴了
mohanwei 发表于 2010-7-13 08:37 | 显示全部楼层
你不会是在中断和主函数里都用了吧?
wangzk 发表于 2010-7-13 09:14 | 显示全部楼层
我也是啊  还不如自己写的函数好使
 楼主| autuy123 发表于 2010-7-13 10:49 | 显示全部楼层
没有在中断函数中调用这两个函数

自己写的没有调用,库中的功能强大 ,库中的也方便,想怎么用就怎么用

呵呵
icecut 发表于 2010-7-13 13:24 | 显示全部楼层
呵呵.

微软升级了这2个函数sprintf_s,就是因为安全问题.你还是好好考虑缓冲区大小
 楼主| autuy123 发表于 2010-7-13 14:24 | 显示全部楼层
这个我就不清楚了,从目前上看是没哟什么问题,但是这个缓冲区到底该是多少,我也不知道从哪里去查,
可以给个参考吗!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

210

帖子

0

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