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

Ven*_*kaT 0 c++ unix bash

我有C++程序.我用过C++.为了运行该程序,我通过unix终端传递值.但我无法通过传递args值来运行代码片段.

  1. 获取bash构建路径为

用户/ venushka /库/开发商/ Xcode中/ DerivedData/testFunctions-blcisknaxkrqribioawblwrttsib /编译/产品/调试

  1. 我执行了myFunctions bash as

    ./testFunctions

  2. 我把args传给了

    ./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;
}
Run Code Online (Sandbox Code Playgroud)

当我给出1作为arg我的程序线你好世界没有执行.我做错了什么,请帮助我.谢谢 .请找到下面的图片我的终端图片

Joh*_*nck 5

这是错的:

if (*argv[0] == 1)
Run Code Online (Sandbox Code Playgroud)

argv [0]是一个字符串,它是程序的名称.取消引用它(带*)为您提供第一个字符.永远不会匹配1哪个是非打印ASCII码.代替:

if (strcmp(argv[1], "1") == 0)
Run Code Online (Sandbox Code Playgroud)

这将检查程序的第一个参数(不是其名称)是否为字符串"1".