📜  if argv == string - C++ (1)

📅  最后修改于: 2023-12-03 14:42:03.331000             🧑  作者: Mango

判断命令行参数与字符串是否相等 - C++

在使用命令行参数的时候,我们可能会需要判断命令行参数是否等于某个特定的字符串。C++ 为我们提供了一种简单的方式来实现这个功能。

语法
#include <string.h>

int strcmp(const char *str1, const char *str2);
参数
  • str1:用于比较的第一个字符串。
  • str2:用于比较的第二个字符串。
返回值
  • 如果 str1 等于 str2,则返回 0
  • 如果 str1 小于 str2,则返回小于 0 的值。
  • 如果 str1 大于 str2,则返回大于 0 的值。
示例
#include <iostream>
#include <string.h>

using namespace std;

int main(int argc, char* argv[]) {
    if (strcmp(argv[1], "hello") == 0) {
        cout << "Hello, world!" << endl;
    } else {
        cout << "Invalid argument" << endl;
    }

    return 0;
}

在上述示例中,我们使用了 strcmp 函数来比较命令行参数 argv[1] 和字符串 "hello" 是否相等。如果相等,输出 "Hello, world!";如果不相等,输出 "Invalid argument"

注意:在使用 strcmp 函数之前,我们需要确保命令行参数的个数 argc 大于等于 2,即确保命令行中传递了至少一个参数。否则可能会导致访问越界。