我(在)@虚拟现实问题,R只需一码

7

7rots51

Guest

当我愿与我同下面的代码项目(在)@村c0mpiler(处理器:AT90S8515的)和调试它秉恩美元ṛ,我看到该程序退出while循环!没有任何reason.if更改sprintf的printf,没有任何问题。

这是我的问题
, 或者是c0mpiler问题?#包括“stdio.h中”
无效的主要(无效)

无符号整型三K党;
字符bufff [6];

bufff [5] = 0;

而(1)(
三K党= 1234;
sprintf(bufff,“%U”型,三K党);



 
嗨,

你尝试改变
, 而环为一个循环?
我记得我有一个类似的问题
, 并为循环的问题得到解决。

关心

 
它可以是这样的字符串没有足以容纳三K党的全部输出forvalue。当你的字符串爱好者的定义是堆栈变量,当输出完成sprintf可以overide堆栈和导致腐败,则行为是不确定的。
Incrcease爱好者多达20个大小让说
, 然后再试一次。

 
于IAR的C - SPY 2.28a,加州集Atmega128芯片,所有工作正常....

 
嗨,

您可能需要执行printf函数,或'存根'它
指出,例如,本是prontf功能
, 我使用,我做备份和
修改现有的'printf.c'文件
, 在其中一名
IAR的目录(我公司):静态无效put_one_char(字符荤,无效*假)

tx_byte(PRINT_PORT,三);
/ *注释以上或脱节如果您正在使用的C - SPY * /
)/ *在这条线警告行(未使用'虚拟')* /廉政printf(const字符*格式,...)/ *我们的主入口* /

va_list鸭;
廉政nr_of_chars;

va_start(鸭,格式); / *可变参数开始* /
nr_of_chars = _formatted_write(格式,put_one_char,(无效*)0,鸭);
va_end(鸭); / *可变参数结束* /
返回(nr_of_chars)/ *按ANSI * /


 

Welcome to EDABoard.com

Sponsor

Back
Top