我正在尝试将exe转换为dll,并在我的C ++程序中手动调用DLL中的main
函数。
此exe代码中的main函数(从另一个C ++程序生成)如下所示:
int main(int argc, char* argv[])
现在,在我的C ++程序中,我之前将命令行参数传递给此exe,如下所示:
system(somexe test.txt test1.txt test2.txt);
int argc
和argv array
会自动传递给exe程序。但是,如果我必须手动调用此函数,我不确定如何传递上述参数。我是否必须每次使用这些参数手动生成数组,还手动传递此数组中的元素数量?
答案 0 :(得分:1)
只需创建一个字符串数组并传递给main.int argc表示数组中的字符串数字。 argv存储字符串数组。 例如: int argc = 3; char * argv [3] = {“argc1”,“argc2”,“argc3”}; 主(的argc,argv的);
答案 1 :(得分:0)
你知道printf的功能吗?你也可以这样做。
int doit(int n1, ...)
{
va_list arg_ptr;
int n = n1;
va_start(arg_ptr, n1);
while (n > 0)
{
va_arg(arg_ptr, int);
}
va_end(arg_ptr);
}