在VS2010中,我在项目设置中设置了命令行参数 - > Debugging->命令行参数:
-d 48000 1 -raw test1.opus test1_decoded.raw
但是,当我调试项目并查看
中的argv []时int main(int argc, char *argv[])
{
}
...我可以看到缺少这些命令行参数。 命令行参数argv只包含刚刚被调试的exe的路径。我看到如果我将鼠标移到argv上。
有没有人知道我可能做错了什么?
感谢您的帮助。
答案 0 :(得分:1)
但是,当我调试项目并查看argv [] ...
时
根据您的描述和代码,我假设您将鼠标悬停在argv
上或在观察窗口中查看它。 argv
是指向char
的指针。调试器不知道它包含多少元素。它将向您展示第一个元素i.e.,
* argv`),但不再是因为没有安全,标准的方法。
您的命令行参数存在,但调试器无法确定要在UI中显示的元素数量。看看argc
的价值;这应该与您的可执行文件路径的参数数量+1相匹配。