进阶——第十六届蓝桥杯(sscanf的运用)
声明变量
char tx_buf[30];
char rx_buf[30];
char car_type[5];
char car_num[5];
char car_time[15];
int sscanf(const char *str, const char *format,...);
sscanf函数功能
sscanf
函数从字符串str
中读取数据,根据format
所指定的格式将数据存储到后续的变量中。它是scanf
函数的变体,scanf
是从标准输入读取数据,而sscanf
是从字符串读取数据。sscanf(input, "%d %f %s", &num, &fnum, str);
:%d
:读取一个整数并存储到num
中,读取到的是123
。%f
:读取一个浮点数并存储到fnum
中,读取到的是3.14
。%s
:读取一个字符串并存储到str
中,读取到的是"hello"
。
void uart_proc(void)
{
if(rx_count==22)
{
sscanf(rx_buf,"%4s:%4s:%12s",car_type,car_num,car_time);
sprintf(tx_buf,"car_type:%4s\r\n",car_type);
HAL_UART_Transmit(&huart1,(uint8_t*)tx_buf,strlen(tx_buf),50);
sprintf(tx_buf,"car_num:%4s\r\n",car_num);
HAL_UART_Transmit(&huart1,(uint8_t*)tx_buf,strlen(tx_buf),50);
sprintf(tx_buf,"car_time:%12s\r\n",car_time);
HAL_UART_Transmit(&huart1,(uint8_t*)tx_buf,strlen(tx_buf),50);
rx_count=0;
memset(rx_buf,0,30);
}
}
原文地址:https://blog.csdn.net/JK03820/article/details/145249532
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!