我有C ++程序。我用过C ++。为了运行该程序,我通过unix终端传递值。但我无法通过传递args值来运行代码片段。
用户/ venushka /库/开发商/ Xcode中/ DerivedData / testFunctions-blcisknaxkrqribioawblwrttsib /建造/产品/调试
我执行myFunctions bash为
./testFunctions
我将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;
}
当我给出1作为arg我的程序行时,hello world还没有被执行。我做错了什么,请帮助我。谢谢 。请找到
下方的图片答案 0 :(得分:5)
这是错误的:
if (*argv[0] == 1)
argv [0]是一个字符串,它是程序的名称。取消引用它(使用*
)可以获得第一个字符。它永远不会匹配1
这是一个非打印的ASCII代码。代替:
if (strcmp(argv[1], "1") == 0)
这将检查程序的第一个参数(不是其名称)是否为字符串“1”。