文章目录
- linuxC - sscanf() 函数使用
-
- 参数
- 返回值
- 举例
linuxC - sscanf() 函数使用
int sscanf(const char *str, const char *format, ...)
参数
- 参数str为要读取数据的字符串;format为用户指定的格式;… 为变量,用来保存读取到的数据
返回值
成功则返回参数数目,失败则返回-1,错误原因存于errno 中。
- sscanf()会将参数str 的字符串根据参数format(格式化字符串)来转换并格式化数据(格式化字符串请参考scanf()), 转换后的结果存于对应的变量中。
- sscanf()与scanf()类似,都是用于输入的,只是scanf()以键盘(stdin)为输入源,sscanf()以固定字符串为输入源。
举例
从指定的字符串中读取Mac地址
if(net_param_get(g_sysconfig.net_type, 3, netvalue)) {
uint32_t tmp[6] = {
0};sscanf(netvalue, "%x:%x:%x:%x:%x:%x", &tmp[0], &tmp[1], &tmp[2], &tmp[3], &tmp[4], &tmp[5]);g_sysconfig.mac_addr[0] = tmp[0];g_sysconfig.mac_addr[1] = tmp[1];g_sysconfig.mac_addr[2] = tmp[2];g_sysconfig.mac_addr[3] = tmp[3];g_sysconfig.mac_addr[4] = tmp[4];g_sysconfig.mac_addr[5] = tmp[5];}