我有C++程序.我用过C++.为了运行该程序,我通过unix终端传递值.但我无法通过传递args值来运行代码片段.
用户/ venushka /库/开发商/ Xcode中/ DerivedData/testFunctions-blcisknaxkrqribioawblwrttsib /编译/产品/调试
我执行了myFunctions bash as
./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;
}
Run Code Online (Sandbox Code Playgroud)
当我给出1作为arg我的程序线你好世界没有执行.我做错了什么,请帮助我.谢谢 .请找到下面的图片
这是错的:
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".