运行 使用 unix 终端的 c++ 程序

Run c++ program using unix terminal

我有C++程序。在那里我用过 C++ 。为了 运行 该程序,我正在通过 unix 终端传递值。但是我无法通过传递参数值来 运行 代码片段。

  1. 获取bash构建路径为

Users/venushka/Library/Developer/Xcode/DerivedData/testFunctions-blcisknaxkrqribioawblwrttsib/Build/Products/Debug

  1. 我执行了 myFunctions bash 作为

    ./testFunctions

  2. 我将参数传递为

    ./testFunctions 1

请在下面找到我使用的代码片段

int main(int argc, const char * argv[]) {
    // insert code here...
    //std::cout << "Hello, World!\n";
    if (*argv[0] == 1) {
        std::cout << "Hello, World!\n";
        //test();
    }
    return 0;
}

当我将 1 作为 arg 时,我的程序行 hello world 尚未执行。我做错了什么请帮助我。谢谢你 。请找到下图

这是错误的:

if (*argv[0] == 1)

argv[0] 是一个字符串,它是您的程序的名称。取消引用它(使用 *)给你第一个字符。它永远不会匹配 1 这是一个非打印的 ASCII 码。相反:

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

这将检查程序的第一个参数(不是它的名称)是否是字符串“1”。