gpt4 book ai didi

c++ - 如何在 Win32 控制台应用程序中将 argv[ ] 设置为不区分大小写?

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:23 24 4
gpt4 key购买 nike

下面解决了。

原始问题:我怎样才能使与 argv[] 的比较不区分大小写?这是一个代码片段:

if (std::string(argv[2]) == "HKCU") //Si escriben HKCU
{
cout << "Has escrito HKCU" << endl;
}
else //Si no escriben la clave
{
cout << "Debes especificar HCKU o HKLM" << endl;
}

如果我传递参数“hkcu”,测试将不起作用,我必须输入“HKCU”。如果我在程序中比较“HKCU”或“hkcu”,这两个字符串都可以。

编辑:我必须以这种方式使用 _stricmp(使用 VS2013):

if (_stricmp(argv[2], "HKCU") == 0)

最佳答案

您需要重新考虑您的问题。您不希望“字符串”不区分大小写,但您更愿意通过比较了解 HKCU 与 Hkcu 或 hKcU 相同。

为此,有许多选项,其中之一是已经提到的函数 stricmp。原型(prototype)是:

#include <string.h>
int stricmp(const char *string1, const char *string2);

意思是,您可以像这样使用它:

if(stricmp(argv[2], "HKCU") == 0) {
}

另一个选项是 strcasecmp 函数,其操作类似。

希望这对您有所帮助。

关于c++ - 如何在 Win32 控制台应用程序中将 argv[ ] 设置为不区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18219158/

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