繁体   English   中英

如何将uint32_t转换为char *类型

[英]How can i convert a uint32_t to a char* type

您好我使用带有adafruit盾牌的Arduino UNO来显示分数值,但用于显示分数的功能仅接受char *值,分数本身最多可占用6位数(000,000到999,999)。 我曾尝试使用sprint(),但我没有运气,因为屏幕会像疯了一样闪烁。 我认为问题是字符只能保存一定数量的字节,不能容纳32位int但我认为它们是一种方法。 绘制文本是屏蔽在屏幕上绘制的函数,输入为char *,颜色代码,大小,x像素,y像素。 如果有人可以帮我转换这两种类型,请告诉我。 如果他们的替代品也会帮助我。

我的代码:

char* textToWrite;
uint32_t currentScore = 0;
uint32_t highScore = 0;
highScore = currentScore;
sprintf(textToWrite,"%d.%d.%d.%d\0", currentScore);//sprint f not working properly right now
drawText(textToWrite, ST7735_WHITE, 1, 100, 10);

我也尝试过使用:

sprintf(textToWrite,"%u", currentScore);
char textToWrite[ 16 ];
uint32_t currentScore = 42;
// as per comment from LS_dev, platform is int 16bits
sprintf(textToWrite,"%lu", currentScore);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM