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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |