main.cpp

来自「mysqlping mysqlping」· C++ 代码 · 共 90 行

CPP
90
字号
#include <stdio.h>#include <stdlib.h>#include<mysql/mysql.h>#include <string>using namespace std;int get_argument(int argc,char **argv,string &host,string &username,string &password,string &database);void usage(void){    printf("usage:\n\      program  -h host -u username -p password -d database\n");}int main(int argc,char **argv){    MYSQL mysql;    char c;    int i;    printf("Begin\n");    mysql_init(&mysql);    mysql_options(&mysql, MYSQL_READ_DEFAULT_GROUP, "mysql");    string host="192.168.1.185";    string username="185";    string password="185";    string database="funshion";    if(argc>1)    {        if(0!= get_argument(argc,argv,host,username,password,database))        {            printf("get_argument error\n");            usage();            return 1;        };    }    //if(!mysql_real_connect(&mysql, "127.0.0.1", "root", "", "test", 0, NULL, 0))    //if(!mysql_real_connect(&mysql, "192.168.1.186", "yumy", "yumy", "funshion", 0, NULL, 0))    if(!mysql_real_connect(&mysql, host.c_str(), username.c_str(), password.c_str(), database.c_str(), 0, NULL, 0))    //if(!mysql_real_connect(&mysql, "192.168.1.185", "185", "185", "funshion", 0, NULL, 0))    {        fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(&mysql));    }    mysql.reconnect = 1;    printf("Restart MySQL server and press Enter...\n");    c = getchar();    (void)putc('\n', stdout);    for(i = 1; i < 4; i++)    {        if(mysql_ping(&mysql) != 0)        {            printf("Error: %s\n", mysql_error(&mysql));        }        else        {            printf("Ok!\n");        }    }}int get_argument(int argc,char **argv,string &host,string &username,string &password,string &database){    int ch;    opterr = 0;    int arg_num=0;    while((ch = getopt(argc, argv, "h:u:p:d:")) != -1)        switch (ch)        {        case 'h':            host = optarg;            arg_num++;            break;        case 'u':            username = optarg;            arg_num++;            break;        case 'p':            password = optarg;            arg_num++;            break;        case 'd':            database = optarg;            arg_num++;            break;        default:            throw "no argv";        }    return 4==arg_num?0:1;};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?