【发布时间】:2017-09-08 09:29:30
【问题描述】:
我的应用程序有入口点
int main(int argc, char *argv[])
{
}
我需要将 *argv 数组扩展为 n+1 并附加一个值。比如我需要追加"-app_ver"。
我是 C++ 的新手(具有 Java 背景)。我知道我无法更改数组大小,所以我需要任何解决方案(任何方法复制数组等)
【问题讨论】:
-
你为什么要这样做?
-
您是否考虑过将所有值推入
std::vector<std::string>或std::vector<std::string_view>,然后将新值附加到您想要的位置? -
只需分配一个大小为
argc + 2的char *数组,从argv[]复制原始argc字符串,然后在最后两个中添加您的额外值和最终NULL元素。 -
听起来像一个“XY 问题”,因为您的解决方案对于任何明智的编程问题都不是正确的解决方案。你真正想要解决的核心问题是什么?
-
是的,因为起初在 c++ 中弄清楚数组的概念有点困难
标签: c++ arrays command-line-arguments argv