gpt4 book ai didi

c++ - 我可以为 argv 赋值吗?

转载 作者:行者123 更新时间:2023-12-03 10:05:18 25 4
gpt4 key购买 nike

当我使用 vscode 进行 c 和 c++ 调试时,有时需要一些命令行参数( ./runFile args1 args2 )。如果我直接点击运行,会显示argv[2]超出范围。这是因为我没有输入参数。但是如果我通过命令行输入参数,似乎无法单步通过vscode。我想到的方法是用argv[]=value在主函数的开头在这里分配命令行参数。这样使用会不会有问题?而我只能argv[0]=value argv[1]=value .有没有办法通过argv=...直接给argv赋值?我试过 argv[1]=value argv[2]=valu e.可以正常运行。这里有什么风险吗?比如给argv分配了多少内存?

最佳答案

Can I assign a value to argv?


是的。
另一个问题是你是否应该。我不推荐它。

For example, how much memory is allocated for argv?


保证有 argc + 1 argv 指向的数组中的指针数.最后一个是空指针。不能保证会分配更多内存。

附言我没有使用过 vscode,但我怀疑它有一种在其中运行调试器时指定命令行参数的方法。无论如何,大多数IDE都可以。如果没有,那么也许您可以使用命令行调试器。

关于c++ - 我可以为 argv 赋值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65017097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com