用CC++代码实现WIFI共享(要求全自动)

用CC++代码实现WIFI共享(要求全自动),第1张

你说的应该是WIN7下面的WIFI共享,这里WIFI共享实现的过程主要分两步:

1.启动承载网络,这里可以使用WLAN API来实现,自己百度一下有不少。

2.利用COM进行枚举相应连接实现共享功能

实现这两步基本上基本上差不多能用。不过这个功能会非常非常的弱。

因为还有一些由系统帮你完成的功能。如要做的更NX,还需要添加DHCP,DNS,以及NAT等功能。

这个,win 7以上windows系统的话,可以用system函数调用以下命令。(偷懒的做法)

设置wlan热点

netsh wlan set hostednetork mode=allow ssid=hot key=12345

hot处填热点名称,12345除填密码。

开启热点:

netsh wlan start hostednetwork

关闭热点:

netsh wlan stop hostednetwork

其他的功能你可以百度。

c语言中,可以从键盘读取ssid和密码,然后构造字符串

netsh wlan set hostednetork mode=allow ssid=hot key=12345

然后作为参数调用system()函数来实现。

有点儿意思。原因却出乎意料的简单。char*rwtab[27]={"main","if","then","while","do","static","int","double","struct","break","else","long","switch","case","typedef","char","return","const","float","short","continue","for","void","sizeof","default","do"}少了一项,只有26项,rwtab[26]是空指针,访问到它时,就出错了。错误提示如下:我没有修改这一句的时候,在你指出出错的地方加了下面一句:for(n=0n<27n++) if(strcmp(token,rwtab[n])==0)//比较是否关键字 { printf("Cathchakey-word\n") // }出错了,提示信息如下:这意味着,访问了一个空指针。修改如下:char*rwtab[27]={"main","if","then","while","do","static","int",\"double","struct","break","else","long","switch","case",\"typedef","char","return","const","float","short","continue",\"for","void","sizeof","default","do","long"}//数组少一项,没有27项,另外几个关键词前面有空格,也应该删除。加了续行符号。修改之后,运行成功:我用你的程序做a.txt,生成文件b.txt,c.txt,今天不知什么情况,不能上传。为什么这样?很玄妙:rwtab数组少一项,rwtab[26]会引用一个空指针,产生错误。这儿没有语句时,循环没有实质性语句,编译程序优化,不会编译这个循环的语句,程序中根本没有这几句的内容,因而不会出错。有了语句,就不能省略了,就出错了。就是这样简单。另外,你的程序必须当做C++程序编译,否则通不过。C不允许在有实质语句之后定义变量,变量说明要全部放到相应段的最前面,也不支持//注释。我是用DEVC++编译成功的,用WINTC编译失败。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6847636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存