本文目錄一覽:
如何使用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
編譯連接運行
原創文章,作者:K12KI,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130455.html