我正在尝试在 ATMega 169P 微控制器的 LCD 屏幕上显示一些内容。使用 C 时,我可以使用以下代码:
char str[50];
int value = 100;
str = sprintf(str, "some text %d", value);
LCD_puts(str);
它会显示得很好。LCD_puts 是我老师给我们的一个方法。但是,我正在尝试使用 C++ 来完成我的作业,但我无法让 LCD_puts() 工作。我使用了 sprintf 和 snprintf,并且在使用 snprintf 时收到以下编译器错误。我正在使用的代码也在下面。(抱歉格式化,我无法发布图片)。
char str[100];
int rpm = 100; //Genaric value
snprintf(str, 100, '%d in',rpm);
LCD_puts(str);
从 'char*' 到 'unint8_t*' {aka unsigned char*}'[-fpermissive] 的无效转换
我认为不需要我的确切代码,我只需要知道为什么会导致此错误,以及是否有一个与我可以使用的 sprintf 等效的 C++ 函数。但是,如果需要,我会发布我的确切代码。