You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在C语言中如何将命令行参数与字符串比对并验证指定参数值

在C语言中验证命令行参数是否为指定字符串
  • C语言里不能直接用==比较字符串内容,因为==对比的是字符串指针的内存地址,而非实际字符序列。要判断字符串内容是否一致,得用标准库的strcmp函数,使用前必须包含<string.h>头文件。
  • strcmp的返回值规则:
    • 返回0:两个字符串内容完全相同
    • 返回负数:第一个字符串的ASCII码序列小于第二个
    • 返回正数:第一个字符串的ASCII码序列大于第二个

修改后的代码如下:

// 必须引入此头文件才能使用strcmp
#include <string.h>

// ... 其他代码逻辑 ...

if (argc == 2) {
    // 对比第二个命令行参数(argv[1])与目标字符串"autoplay"
    if (strcmp(argv[1], "autoplay") == 0) {
        autoplay(num5);
    }
}

说明:

  • argv[0]是程序自身的名称,用户传入的第一个参数存在argv[1]中
  • 只有当strcmp返回0时,才说明参数内容完全匹配,此时执行autoplay(num5)

如果需要忽略大小写(比如允许"Autoplay"、"AUTOPLAY"触发逻辑),可根据系统选择对应函数:

// Linux/macOS等POSIX系统用strcasecmp
if (strcasecmp(argv[1], "autoplay") == 0) {
    autoplay(num5);
}

// Windows系统用_stricmp
if (_stricmp(argv[1], "autoplay") == 0) {
    autoplay(num5);
}

内容的提问来源于stack exchange,提问作者Dakota Kellogg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 20:45:38