【STM32】keil使用sprintf时的告警处理

tech2025-10-18  5

使用如下语句

u8 DispBuf[50]; sprintf(DispBuf,"TEST");

时,会出现如下告警:

main.c(86): warning: #223-D: function "sprintf" declared implicitly

这是由于没有包含头文件导致,需要包含如下头文件

#include "stdio.h"

增加包含后,编译时出现如下告警信息:

main.c(145): warning: #167-D: argument of type "unsigned char *" is incompatible with parameter of type "char *restrict"

这是由于调用的参数类型与要求的不匹配导致的,需要将语句增加一个强制类型转换 char *,

sprintf((char *)DispBuf,"TEST");

增加后告警信息消失。

最新回复(0)