加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 命令行参数不起作用 – 完全跳过它们

发布时间:2020-12-16 06:46:24 所属栏目:百科 来源:网络整理
导读:好吧,我正试图通过一个小的测试应用程序来使参数正常工作.我的代码如下.我在C上没有太多经验,所以我不确定为什么当我用-print(或–print)启动测试时它会自动声明“Not a valid option”然后结束. #include iostreamint main(int argc,char* argv[]){ int opt
好吧,我正试图通过一个小的测试应用程序来使参数正常工作.我的代码如下.我在C上没有太多经验,所以我不确定为什么当我用-print(或–print)启动测试时它会自动声明“Not a valid option”然后结束.

#include <iostream>

int main(int argc,char* argv[])
{
    int option;
    option = 1;
    char* argument;
    argument = argv[option];
    while (option < argc)
    {
        if (argument == "-print")
        {
            std::cout << "Printing Extra Text";
        }
        else
        {
            std::cout << "Not a valid option" << std::endl;
        }
        option++;
    }
    std::cout << "Printing normal text" << std::endl;
    return 0;
}

我这样做了吗?提前致谢.

解决方法

您将字符串“-print”的内存地址与参数的内存地址进行比较.这不行!使用strcmp()比较字符串值.代替:

if (argument == "-print")

if (strcmp(argument,"-print") == 0)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读