1

在 VS2010 中,我在项目设置->调试->命令行参数中设置命令行参数:

-d 48000 1 -raw test1.opus test1_decoded.raw

但是,当我调试项目并查看 argv[]

int main(int argc, char *argv[])
{

}

...我可以看到这些命令行参数丢失了。相反,命令行参数 argv 只有正在调试的 exe 的路径。我看到如果我将鼠标移到 argv 上。

有人知道我可能做错了什么吗?

感谢您的帮助。

4

1 回答 1

1

但是,当我调试项目并查看 argv[]...

根据您的描述和代码,我假设您将鼠标悬停在argv或在监视窗口中查看它。 argv是指向指针的指针char。调试器不知道它包含多少元素。它会向您显示第一个元素i.e.,*argv`),但不会再显示了,因为根本没有安全、标准的方法来这样做。

您的命令行参数在那里,但调试器无法确定要在 UI 中显示多少元素。查看 ; 的argc值 这应该与您的可执行文件路径的参数数量 +1 匹配。

于 2013-05-12T18:36:49.630 回答