我想创建一个QApplication类型的对象,它需要主函数参数argc和argv作为输入:
QApplication app(argc, argv);
因为我在一个用户定义的函数中,不能访问main函数,所以我想自己定义这个参数。我已经尝试了几种方法,但我不能正确地进行类型转换。我的上一种方法也不起作用:
int argc = 1;
char **argv;
char arguments[1][12] = {{"cgalExample"}};
argv = arguments;
谢谢你的任何提示。
发布于 2009-10-05 12:53:52
为什么你要关心argv中的文本大小,我会让编译器来做:
int argc = 1;
char* argv[] = {"Hello Qt!"}; // exactly as it is defined in main
发布于 2009-10-05 20:55:00
不如..。
int argc = 2;
const char* argv[] ={"program","first-argument"};
...or如果你需要它们是非常数...
int argc = 2;
char* argv[] ={strdup("program"),strdup("first-argument")};
发布于 2009-10-05 13:11:47
尽管C和C++标准都不要求这样做,但大多数编译器将main的参数作为_argv和_argc提供给您。如果内存服务,POSIX需要这样做。无论如何,你需要使用类似这样的东西:
extern int _argc;
extern char *_argv[];
然后你就可以像平常一样使用它们了。
https://stackoverflow.com/questions/1519885
复制相似问题