当前位置:  开发笔记 > 编程语言 > 正文

如果字符串相等 - 如果声明

如何解决《如果字符串相等-如果声明》经验,为你挑选了1个好方法。

我正在从命令行解析参数

for(int i = 1; i < argc; i++){
    cout << i << " " << argv[i] << "\n";
    if(argv[i] == "-width"){
        cout << " width = " << argv[i] << "\n";
    }
}
命令
./txtbin test.jpg -width 100 out.jpg
结果
1 test.jpg
2 -width
3 100
4 out.jpg

为什么if-statement里面的这一行没有打印出来?

cout << " width = " << argv[i] << "\n";

ForceBru.. 5

因为argv是一个指向char的指针数组,你不能只是比较指向char和字符串文字的指针.要解决您的问题,您可以将两者转换为std::string:

if(std::string(argv[i]) == "-width")

否则,您可以使用strcmp比较文档中显示的C字符串.



1> ForceBru..:

因为argv是一个指向char的指针数组,你不能只是比较指向char和字符串文字的指针.要解决您的问题,您可以将两者转换为std::string:

if(std::string(argv[i]) == "-width")

否则,您可以使用strcmp比较文档中显示的C字符串.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有