我想在Keil中使用sprintf();
函數。但我有惱人的警告。讓我用下面的示例代碼部分來解釋我的警告。當我調試時,我得到;Keil中sprintf令人討厭的警告
警告:#167-d:類型的參數 「uint8_t *」 是類型的參數不兼容 「的char *限制」
它提醒我關於格式類型的線。
我知道sprintf函數不是一個好的解決方案,但我真的很想知道爲什麼這個警告炫耀?
感謝
#include "stm32l0xx.h" // Device header
#include <stdio.h>
void LCD_show(uint32_t s_value)
{
uint8_t str[9], i;
for (i = 0; i < 9 ; i++) str[i] = 0;
sprintf(str, "%9ld", s_value);
}
什麼是's_value'?它不在您提供的代碼中。 –
對不起,s_deger和s_value之間的區別是相同的,我只是在做拷貝時犯了錯誤。只是改變了。 –
'uint8_t str [9],i;'>'char str [9],i;'。或者使用cast:'sprintf((char *)str,「%9ld」,s_value);' –