原理:调用dos命令ping百度网站,如果ping通则发声提示,按任意键退出
/*用来测试网络是否连通*/
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
/*查寻s2是不是s1的字串*/
int strsearch(char *s1,char *s2)
{
int lens1,lens2;
lens1=strlen(s1);
lens2=strlen(s2);
if (lens1<lens2)
return 0;
if (lens1==lens2){
while(*s1!='\0')
if (*s1++!=*s2++)
return 0;
if (*s1=='\0')
return 1;
}
if (lens1>lens2)
{
while(*s2!='\0')
{
while(*s1!='\0')
{
if (*s2==*s1)
{
++s1;
break;
}
++s1;
}
++s2;
if (*s1=='\0' && *s2!=*s1)
return 0;
}
return 1;
}
}
/*报警提示网络连通*/
void notify()
{
while(!bioskey(1))
{
sound(2000);
delay(10000);
}
nosound();
}
int main()
{ FILE *fp;
char str[100];
while (1){
system("ping WWW.BAIDU.COM>ping.txt"); /*半角字符会出问题,请自己修改*/
if((fp=fopen("ping.txt","r"))!=NULL){
fgets(str,100,fp);
if (!strsearch(str,"check")) /*网络连通*/
{
notify();
exit(0);
}
fclose(fp);
}
}
return 0;
}
[此贴子已经被作者于2007-2-5 16:20:38编辑过]
----------------解决方案--------------------------------------------------------
支持一下楼主
----------------解决方案--------------------------------------------------------
谢谢
----------------解决方案--------------------------------------------------------
你在干什么? 自言自语啊
----------------解决方案--------------------------------------------------------
汗 还以为是用rawsocket写的呢
不过如果是局域网呢
----------------解决方案--------------------------------------------------------