如何将uint32_t转换为char*类型

How can i convert a uint32_t to a char* type

本文关键字:char 类型 转换 uint32      更新时间:2023-10-16

你好,我正在使用一个带有adafruit盾牌的Arduino UNO来显示分数值,但用于显示分数的函数只接受char*值,分数本身最多可以占用6位数字(000000到999999)。我试过使用sprint(),但我没有运气,因为屏幕会像疯了一样闪烁。我认为问题是,字符只包含一定数量的字节,无法容纳32位的int,但我认为他们可以解决这个问题。draw text是屏蔽用于在屏幕上绘制内容的功能,输入为char*、颜色代码、大小、x像素、y像素。如果有人能帮我在这两种类型之间转换,请告诉我。如果他们是替代品,也会帮助我。

我的代码:

char* textToWrite;
uint32_t currentScore = 0;
uint32_t highScore = 0;
highScore = currentScore;
sprintf(textToWrite,"%d.%d.%d.%d", 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);
相关文章: