tip

本文介绍了一段用于配置无线网络BSSID的C语言代码实现。该函数通过读取指定文件中的配置并使用sed命令进行替换或插入操作来更新BSSID信息。如果文件中已存在BSSID配置,则直接替换;若不存在,则在psk配置之后插入新的BSSID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


void sync_bssid_for_config(char *src_bssid)
{
	char bssid_num[128]={0};
	char cmd[256]={0};
	//int num = -1;

	cprintf("%s(%d) ************** src_bssid:%s\n",__FUNCTION__,__LINE__,src_bssid);

	if( openUtil_strlen(src_bssid) != 0 )
	{
	    if(access("/etc/config/8192eewpa", F_OK) == 0)   // file  exist
	    {               
			get_system_output("grep -rn 'bssid'  /etc/config/8192eewpa  | awk -F ':' '{print $1}'", bssid_num, sizeof(bssid_num));	
			if( openUtil_strlen(bssid_num) != 0)
			{
				memset(cmd, 0x0, sizeof(cmd));
				snprintf(cmd, sizeof(cmd), "sed -i '%dc\\        bssid=%s' /etc/config/8192eewpa", atoi(bssid_num), src_bssid);
				//sed -i '9c\        bssid=22.33.44.55.66' /etc/config/8192eewpa
				system(cmd);
				cprintf("%s(%d) ************** cmd:%s\n",__FUNCTION__,__LINE__,cmd);					
			}
			else //no exist
			{
				memset(cmd, 0x0, sizeof(cmd));
				snprintf(cmd, sizeof(cmd), "sed -i \"/psk/i\\ 	   bssid=%s\" /etc/config/8192eewpa", src_bssid);
				//sed -i "/psk/i\        bssid=11.22.33.44.55" /etc/config/8192eewpa 
				system(cmd);
				cprintf("%s(%d) ************** cmd:%s\n",__FUNCTION__,__LINE__,cmd);		
			}
	    }	
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值