void Uart_Printf(char *fmt,...)
{
va_list ap;
char string[256];
va_start(ap,fmt);
vsprintf(string,fmt,ap);
Uart_SendString(string);
va_end(ap);
}
1> vsprintf
2>可变参数
1> vsprintf
函数名:vsprintf
功能:送格式化输出到串中
用法:int vsprintf(char *string, char *format, va_list param);
1.1> 什么是格式化??
格式化就是把你要输出的数字按照一定的格式输出.
1.2> 把参数param按照*format指定的格式写到*string中.
vsprintf(buffer,fmt,argptr);
fmt="%d %f %s"
就是把argptr中的参数按照"%d %f %s"这个格式输出到buffer中
2>可变参数
1.1> va_list().首先在函数里定义一具有va_list型的变量,这个变量是指向参数的指针
1.2> va_start().对ap进行初始化,让它指向可变参数表里面的第一个参数.
1.3> va_end().获取参数之后,设置ap为NULL.
Uart_Printf(char *fmt,...)初步印象
本文详细介绍了如何使用vsprintf函数将参数按照指定格式输出到字符串中,并解释了如何利用va_list、va_start及va_end处理可变数量的参数,适用于嵌入式系统中的格式化字符串输出。
2571

被折叠的 条评论
为什么被折叠?



