xcode argv[0]是路径名,而不是第一个参数 在我的C++程序中,代码显示了://MyNAM/Labe/Deave/XCODE/派生数据/项目4/构建/产品/调试/项目4/COD> < /P>

xcode argv[0]是路径名,而不是第一个参数 在我的C++程序中,代码显示了://MyNAM/Labe/Deave/XCODE/派生数据/项目4/构建/产品/调试/项目4/COD> < /P>,c++,xcode,C++,Xcode,我输入的不是第一个参数。我可以更改此设置吗?C编程系统依赖于包含程序本身名称的argv[0](带路径或不带路径,取决于您使用的系统)。例如,许多程序依赖于它来找到程序所在的路径 第一个参数将位于argv[1],最后一个参数位于argv[argc-1] 换言之: /usr/bin/myprog foo bar baz 将有 argc = 4 argv[0] = /usr/bin/myprog argv[1] = foo argv[2] = bar argv[3] = baz 如果

我输入的不是第一个参数。我可以更改此设置吗?

C编程系统依赖于包含程序本身名称的
argv[0]
(带路径或不带路径,取决于您使用的系统)。例如,许多程序依赖于它来找到程序所在的路径

第一个参数将位于
argv[1]
,最后一个参数位于
argv[argc-1]

换言之:

 /usr/bin/myprog foo bar baz 
将有

 argc = 4
 argv[0] = /usr/bin/myprog
 argv[1] = foo
 argv[2] = bar
 argv[3] = baz
如果不遵循这一点,所有标准程序都会出错。

是的,您可以:-)使用以下方法:

argv[0] = argv[1];
您将在
argv[0]
中获得第一个参数


但请不要在真实的程序中这样做。

这是正确的,而且定义正确。没有办法改变它,这是正确的。就是这样。如果您想要第一个提供的参数,请使用
argv[1]
您应该阅读以下内容:您必须为(i=argc-1;i>=1;i--)argv[i-1]=argv[i]tho',如果有多个参数。@Matstpeterson正式地说,否。OP只希望第一个参数位于
argv[0]
,除此之外;-)。此时此刻,也许……:)