自学内容网 自学内容网

进阶——第十六届蓝桥杯(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)!