编写获取命令行参数Getopt函数(C++)

来源:互联网 发布:全国计算机考试软件 编辑:程序博客网 时间:2024/06/08 06:34

Linux系统下C++有自带的获取主函数main命令行参数的函数getopt,但在Windows系统下并没有这样的系统函数存在,不用担心,我们可以自行编写。

实例:
Project名称test

int nic_option = -1;char cont_optin = '0';char destIP_option[16] = { 0 };int getopt(int argc, char *argv[]){    // "i:r:d:"    for (int i = 1; i < argc; i++)    {        if (!strcmp(argv[i], "-i"))   // 获取整形数据            nic_option = atoi(argv[i + 1]);        if (!strcmp(argv[i], "-r"))   // 获取字符串或数组            sprintf(destIP_option, "%s", argv[i + 1]);        if (!strcmp(argv[i], "-d"))   // 获取字符            cont_optin = atoi(argv[i + 1]);    }               return 1;}// 主函数int main(int argc, char *argv[]){    if (getopt(argc, argv) == -1)              return -1;           else       return -1;       }

编译后生成test.exe
比如在cmd窗口输入: test.exe -i 0 -r 127.0.0.1 -d a
执行结果为:
nic_option = 0;
char cont_optin = ‘a’;
char destIP_option[16] =”127.0.0.1”;

原创粉丝点击