我有一个像这样的代码主程序的输入
char * argv[]
我现在正试图从命令行函数
char *argv = GetCommandLine();
但我无法将此功能作为参数传递给
parseCommandLineArguments(argc, argv);
它给我的错误cannot convert parameter 2 from 'char *' to 'char **'
请有人帮帮我。谢谢。
它基本上是控制台main function
的参数。我想在main function
中没有输入参数的情况下将其更改为MFC dialogue based application
。
答案 0 :(得分:3)
首先将char *转换为char **。如果您只想转换,那么您应该通过以下代码。
char **variableName=(char **) argv;
但根据我的说法,你在单个字符*中有多个参数,所以你首先将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";
答案 1 :(得分:2)
您可以访问的全局变量__argc
和__argv
/ __wargv
应该已经填充了数据。
答案 2 :(得分:0)
副手,我猜是parseCommandLineArguments
期待传递给的标准(int, char**)
main
。 GetCommandLine()
返回原始命令行,其中
你必须解析。似乎没有任何需要;
只需使用您获得的参数调用parseCommandLineArguments
即可
在main
。
答案 3 :(得分:-3)
试试这个
char ** variableName =(char * * )* argv;