#include <iostream>
#include <windows.h>
//**********************************************
#include <stdarg.h>
#include <stdio.h>
int uart_printf(void* UartHandle,char* buf,size_t bufLen, const char *fmt, ...)
{
?? ?va_list arg;
?? ?int cnt;
#if 1
?? ?va_start(arg, fmt);
?? ?cnt = vsnprintf(buf, bufLen, fmt, arg);
//生成的字符串的長度至多為n-1,為額外的終止空字符留下空間。
?? ?va_end(arg);
#else
?? ?va_start(arg, fmt);
?? ?cnt = vsprintf(buf, fmt, arg);
?? ?va_end(arg);
#endif
?? ?printf("%s", buf);??//UART0_SendBuf(buffer);
?? ?return cnt;
}
//**********************************************
int main()
{
? ? std::cout << "Hello World!\n";?
#define BUF_LEN ? 3
?? ?char Buf[BUF_LEN] = { 0 };
?? ?int Res = 0;
?? ?Res=uart_printf(NULL,Buf, BUF_LEN, "A=%d\r\n", 1);
?? ?std::cout <<'['<< Buf <<']'<< std::endl;
?? ?printf("[%s]Res==%d\r\n\r\n", Buf,Res);
?? ?printf("\r\n\r\n");
?? ?system("pause");
}
---------------------