将ARGV和ARGC传递给Main作为数组
Passing argv and argc to main as an array
我正在使用openCV,并且具有命令行变量的函数:
int start(int argc, char** argv)
{
cv::CommandLineParser parser(argc, argv, keys);
if(parser.has("help")) {
parser.printMessage();
return 0;
}
....
}
我想做的是具有将变量传递给该变量的另一个函数,而不是使用命令行。我将其传递到完美运行的命令行是:
-h=6 -w=8 -pf=defaultConfig.xml -t=charuco -v=bmCalib2.mov -sz=0.045 -d=1
所以我有这个功能:
void main()
{
char* passArg[7] = { "-h=6", "-w=8","-pf=defaultConfig.xml", "-t=charuco","-v=bmCalib2.mov", "-sz=0.045", " -d=1" };
start(7,passArg);
}
它进行了编译和运行,但结果是不同的(这是一个校准应用程序,命令行校准,功能版本没有(。
这是发送int argc, char** argv
而不是使用命令行的正确方法吗?谢谢。
ah,已经解决。我需要将我的字符阵列调整为:
char* passArg[8] = { NULL,"-h=6", "-w=8","-pf=defaultConfig.xml", "-t=charuco","-v=bmCalib2.mov", "-sz=0.045", " -d=3" };
显然,.exe
通常是命令行启动中给出的第一个变量。
相关文章:
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- 为什么在我的 main 函数中声明整数后我的整数数组中会出现错误?
- 动态数组传递给 main 中用随机值填充的函数,返回值3221226356
- 使用函数从 Visual Studio 2017 中的 main 创建和初始化数组
- 如何使类函数返回数组,然后将其调用并存储在 main 中
- void 函数将数组发送回 main,但我无法让数组正确输出值
- 如何编写一个 void 函数,该函数将在数组中搜索值,并通过引用将该值的位置传递回 main 函数
- 如何在另一个函数中初始化在 main 中声明的数组
- 似乎无法让字符数组离开函数并在 main 中使用
- 从 Main 中的双指针函数打印出指针数组
- 在C 中的另一个函数中使用Main()中的数组
- 如何将指向数组的指针从 main 传递到函数
- 析构函数删除在 main 中声明的动态数组
- 在代码块错误中收到此错误:数组下标'main()::fields[int]'的类型无效
- C++ int main (int argc, char *argv[]) - 是 argv a c 样式数组
- 在 main.cpp 以外的文件中定义静态数组
- 当结构定义在头文件中时,如何在main()中创建结构数组
- C++:使来自main()的数组在另一个函数中可用
- 为什么在包含类头的情况下,我的数组在main中未定义
- 如何在main中使用指针数组