相关疑难解决方法(0)

什么时候argv [0]有空?

从命令行向main()传递参数我所理解的是argc的最小值为1,而argv [0]将始终具有程序名称及其路径.

如果在命令行提供了参数,那么argc的值将大于1,而argv [argc-1]的argv将具有这些参数.

现在这个链接的一个段落说明了一点

argv [0]将是包含程序名称的字符串,如果不可用,则为空字符串.

现在,argv [0]如何以及何时可以使用空字符串?我的意思是程序名称及其路径将始终可用,所以什么时候它可以为空?

作家说"如果不可用"但是何时以及如何可能无法获得该计划名称?

c argv

32
推荐指数
3
解决办法
1万
查看次数

如何查找Qt应用程序的安装目录?

我有一个基于Qt的应用程序,适用于Mac和Windows.当用户安装软件时,它还会安装包含大量HTML文档页面的文件夹.我如何找到程序安装的位置,以便当用户尝试从应用程序中打开"帮助"时,它们会被带到index.html.

我的程序安装在Windows和Mac的正常位置.在Mac上,我的程序安装到/Users/username/Applications/MyProgram其中MyProgram是包含"MyProgram.app"和"文档"文件夹中的文件夹.

#ifdef Q_OS_MACX
    docPath = executablePath + "/Doc/index.html";
#elif Q_OS_WIN
    docPath = executablePath + "/Doc/index.html";
#endif

    QDesktopServices::openUrl(QUrl::fromLocalFile(docPath));
Run Code Online (Sandbox Code Playgroud)

所以,我的最终问题是,应该executablePath是什么?此外,这假设用户可以在除默认位置之外的其他地方安装程序,或者可以从快捷方式启动程序.

c++ qt

10
推荐指数
1
解决办法
8704
查看次数

标签 统计

argv ×1

c ×1

c++ ×1

qt ×1