gpt4 book ai didi

c++ - 如何从 argv[] 获取元素

转载 作者:搜寻专家 更新时间:2023-10-31 00:55:20 24 4
gpt4 key购买 nike

这是C++

在 windows cmd 行用户类型

p3.exe X <data.txt

其中“p3.exe”是程序名,

“X”将是 1、2 或 3,

“data.txt”是程序用来输入的一些文本文件。

在 main 方法中,我期望 argv[1] 等于在 cmd 行中键入的字符串 X。事实上,如果我这样做

wcout << argv[1]

输出是预期的“X”。

所以现在我这样做,

int main(int argc, char* argv[])
{
if (argc > 1)
{
if (argv[1] == "X")
{
//do stuff
}
}
return 0;
} // end main

但是 (argv[1] == "X") 永远不会计算为真

我缺少或不理解什么?

最佳答案

您不能将 C 风格的字符串 (char *) 与 == 进行比较,因为它只比较指针而不是指向的字符串。

您可以使用 strcmp:

if (strcmp(argv[1], "X") == 0)

或者确保比较的至少一侧是 C++ 字符串:

if (std::string(argv[1]) == "X")

关于c++ - 如何从 argv[] 获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42331704/

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