本文目录一览:
如何使用C语言来判断ping命令是否能ping通,求代码。 要c的不要c++或c#的。
代码在 MAC OS 下运行良好,在 Linux 下得话需要稍作修改
#include stdio.h
#include fcntl.h
#include string.h
#include stdlib.h
#include unistd.h
int main(void)
{
char host[256], cmd[256];
printf("please input dest_host:");
scanf("%s", host);
strncpy(cmd, "ping -c5 ", 9);
strncat(cmd, host, strlen(host));
strncat(cmd, " ping.txt", 11);
pid_t pid = fork();
if(pid 0)
{
printf("fork error\n");
exit(-1);
}
if(pid==0)
{
if(execlp("/bin/sh", "sh", "-c", cmd, (char *)0) 0)
printf("execlp error\n");
exit(0);
}
if(waitpid(pid, NULL, 0) 0)
printf("waitpid error\n");
int fd = open("ping.txt", O_RDWR);
int n;
char buf[1024];
n = read(fd, buf, sizeof(buf));
if(n = 0)
{
printf("read error\n");
exit(-1);
}
if(strstr(buf, "100.0%") == NULL)
printf("can reach %s", host);
else
printf("can't reach %s", host);
close(fd);
return 0;
}
如果你想要 ping 程序,刚好我最近写了一个,要的话私信
如何用C语言调用ping命令
C语言调用ping命令,参考代码:
#include windows.h
#include stdio.h
#include string.h
char YN(int k) {
FILE *f;
char fn[40];
char ln[80];
char yn;
int n;
yn='N';
sprintf(fn,"d:\\ping%d.txt",k);
f=fopen(fn,"r");
if (NULL!=f) {
n=0;
while (1) {
if (NULL==fgets(ln,80,f)) break;//
if (strstr(ln,"ms ")) {
yn='Y';
break;//
}
n++;
if (n=4) break;//
}
fclose(f);
}
return yn;
}
void main(int argc,char **argv) {
char cmdstr[256];
int i;
int IP[3];
char c;
if (argc2) {
USAGE:
printf("Usage example:\n %s 192.168.60.\nto test 192.168.60.1-254\n",argv[0]);
return;
}
if (4==sscanf(argv[1],"%d.%d.%d%c",IP[0],IP[1],IP[2],c)) {
if (0=IP[0] IP[0]=255
0=IP[1] IP[1]=255
0=IP[2] IP[2]=255
'.'==c) {
for (i=1;i255;i++) {
sprintf(cmdstr,"cmd /c ping %s%d -n 1 -w 1000 d:\\ping%d.txt",argv[1],i,i);
WinExec(cmdstr,SW_HIDE);
}
Sleep(3000);
for (i=1;i255;i++) {
printf("%c %s%d\n",YN(i),argv[1],i);
}
Sleep(3000);
WinExec("cmd /c del /q d:\\ping*.txt",SW_HIDE);
} else goto USAGE;
} else goto USAGE;
}
求c语言操作mysql数据库实例
不知你用的是什么代码,不过据我实验,以下代码是可用的 【来自 】
#include stdlib.h
#include stdio.h
#include "mysql.h"
int main (int argc, char *argv[])
{
MYSQL *conn_ptr;
conn_ptr=mysql_init(NULL); //连接初始化
if(!conn_ptr){
fprintf(stderr, "mysql_init failed\n");
return EXIT_FAILURE;
}
conn_ptr = mysql_real_connect(conn_ptr, "localhost", "moldao","newpassword","moldao_test", 0, NULL, 0); //建立实际连接
//参数分别为:初始化的连接句柄指针,主机名(或者IP),用户名,密码,数据库名,0,NULL,0)后面三个参数在默认安装mysql的情况下不用改
if(conn_ptr){
printf("Connection success\n");
}
else {
printf("Connection failed\n");
}
mysql_close(conn_ptr); //关闭连接
return EXIT_SUCCESS;
}
连接mysql数据库需要以下步骤:
安装mysql开发包, linux下是mysql安装的时候全选就行了, linux 下直接安装mysql-devel
新建工程,占贴代码,注意修改实际的用户名、密码 ...
设置包含目录, 在windows下, 找到你的mysql安装位置,找到include文件夹, 设置ide增加该文件夹到包含目录 【可能是 C:\Program Files\MySQL\MySQL Server 5.0\include】
设置连接目录, 同设置包含目录一样 找到mysql的lib目录,设置ide 【可能是 C:\Program Files\MySQL\MySQL Server 5.0\lib\opt 】
设置连接选项, 需要设置ide连接选项,增加 -lmysql
编译连接运行