首页 > 解决方案 > GetOpt 在 Mac 上不起作用,没有显示任何参数

问题描述

int c = 0; 
while (c = getopt(argc, argv, "p:t:e:") != -1) {
    std::cout<<"c: "<<c<<std::endl;
    switch (c) {
        case 'p':
            if (optarg) {
                std::cout << "lol" << std::endl;
                person = atoi(optarg);
            }
            break;
        case 't':
            if (optarg) {
                time = stod(optarg);
                std::cout << "ll" << std::endl;
            }
            break;
        case 'e':
            if (optarg) {
                ecg = atoi(optarg);
                std::cout << "2dasf" << std::endl;
            }
            break;
    }
}

一直试图让 getopt 在我的 Mac 上工作。C 打印为 1,但没有打印 switch 中的任何打印语句。这在 Linux 中完美运行。我的 Mac 出了什么问题?

标签: c++macosgetopt

解决方案


推荐阅读