如何比较C中的字符串命令行参数?

Sar*_*aya 4 c pointers string-comparison command-line-arguments

对不起,我是C的新秀.我想做的只是打印一些东西,如果--help参数输入到终端就好了./program --help.所以代码是这样的:

char *HELP = "--help";
char *argv1 = argv[1];

if (argv1 == HELP) {
    printf("argv[1] result isaa %s\n", argv[1]);
}
Run Code Online (Sandbox Code Playgroud)

所以,即使我使用--help参数,它也不会通过if条件.那背后的原因可能是什么呢?

cni*_*tar 12

这不是你比较C中的字符串的方法.使用strcmpstrncmp:

if (strcmp(argv1, HELP) == 0)
Run Code Online (Sandbox Code Playgroud)

包括string.h访问这些.

  • @SarpKaya`#include <string.h>` (2认同)