CCS3.3 ,使用sprintf转换不了任何数字,网上查了很多,都没有彻底解决问题,到底怎么用,盼解!
#include \"stdio.h\"
char parachar[20]; //数据转换为字符串时用
sprintf(parachar,\"%7.4f\",10.3512);
sprintf(parachar,\"%1u\",2);
sprintf对parachar没有任何影响。有的说CCS里建议不要用printf、sprintf等函数,那怎么办,自己编写一个函数实现?
你打算用sprintf干什么呢?
试着用其他方法代替也可以啊.
主要是要在液晶上显示实时数据,数据类型各种各样的,而液晶显示需要将数据转换为相应的ASCII码字符串(字库是自建的),sprintf是最方便的,否则只能自己编函数实现,将数据一位一位剥离出来,如10.2534就需要剥离成1 0 . 2 5 3 4 七个字符的ASCII码
我感觉你可以试着用fread,fwrite函数。
或者自己编也不复杂。
谢谢楼上,仅仅是将数据转为字符串,没必要用到文件写函数fwrite吧,自己编要编各种类型的数据,情况较多,还是比较麻烦的,只好编写针对特定应用的函数了,只处理几种情况.
我照你贴的程序写了个程序,烧不进去。
你显示字符,只需要数字(0-9),英文字母(‘a-z\',\'A-Z\')
就可以了吧。编个查表的程序应该很简单吧。
实时时钟显示的年份的范围是0~99,到10以上的年份时,是个char放不下的