gpt4 book ai didi

c++ - C++中的C字符串比较问题

转载 作者:太空宇宙 更新时间:2023-11-04 14:34:34 24 4
gpt4 key购买 nike

我在我的 C++ 程序中遇到比较问题。这是精简版。

#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[])
{
if(argc>2){cout<<"3+Args"<<endl;}else//???
if(argc==2){
cout<<"2args"<<endl;
if(argv[1]=="/hide-icons"){}
if(argv[1]=="/show-icons"){}
if(argv[1]=="/reinstall"){setAsDefault();}
if(argv[1]=="/?"){showPossibleCommands();}
if(argv[1]=="/1"){cout<<"go"<<endl;FirstRun();}
}else{showPossibleCommands();cout<<argv[0]<<endl;}
return 0;
}

当我运行“programname.exe/1”时,我的程序写入“2args”而不是“go”。我是否遗漏了一些明显的东西?

最佳答案

argv[1] 是一个 char*,因此通过使用 == 进行测试,您正在检查指针是否指向同一个spot 作为您正在使用的各种字符串常量的开头......情况并非如此。要比较内容,请使用 strcmp .

关于c++ - C++中的C字符串比较问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1283174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com