0

我有这样的代码作为主程序的输入

char * argv[]我现在正试图从命令行函数中获取参数

char *argv = GetCommandLine();

但我不能将此函数作为参数传递给

parseCommandLineArguments(argc, argv);

它给了我错误cannot convert parameter 2 from 'char *' to 'char **' 任何人都可以在这里帮助我。谢谢你。

它基本上main function是控制台的参数。我正在尝试将其更改为main function不带输入参数的MFC dialogue based application.

4

4 回答 4

3

首先是将 char* 转换为 char** 的明确案例。如果您只想转换,那么您应该通过以下代码。

char **variableName=(char **) argv;

但据我说,您在单个 char* 中有多个参数,因此您首先将 char* 分解为多个字符串。

它的基本规则是,

char* : - 用于单个字符串,例如,

char* MyOwn = "Hey There"; 

而 char** 用于多个字符串。

char** multipleString;
multipleString= (char**)malloc( 3 * sizeof(char*) );        //allocating memory location..
multipleString[0] = "First";
multipleString[1] = "Second";
multipleString[2] = "Third";
于 2013-07-30T06:23:28.057 回答
3

存在您可以访问的全局变量__argc__argv/ __wargv,它们应该已经填充了数据。

于 2013-07-30T06:25:20.157 回答
0

顺便说一句,我猜这parseCommandLineArguments是期待(int, char**)传递给 main. GetCommandLine()返回您必须解析的原始命令行。似乎不需要它;只需parseCommandLineArguments用你得到的参数打电话main

于 2013-07-30T08:28:30.683 回答
-3

试试这个

char **变量名=(char ** ) *argv;

于 2013-07-30T06:13:50.687 回答