我有两个程序:
程序1 - 由我编写的Qt程序。
程序2 - 非由...编写的程序。
我的目标是从程序1运行程序2(我知道该怎么做)。
然而,我的问题是程序2有一些它查找的.ini文件。事实证明,目录程序2查找的不是可执行文件的目录,而是进程启动可执行文件的目录...在本例中为程序1。
所以我的错误是这样的:
“无法在程序1的目录C://目录中找到文件xxx.ini // inifiles //...
我的问题是......有什么方法可以解决这个问题吗?我知道这有点令人困惑,所以请告诉我一些事情是否有意义。
答案 0 :(得分:4)
假设您使用QProcess
启动程序2,则需要通过调用QProcess::setWorkingDirectory(const QString &dir)
来设置工作目录。
将工作目录设置为dir。 QProcess将启动该流程 这个目录。默认行为是在中启动进程 调用进程的工作目录。
答案 1 :(得分:0)
如果您想了解目前正在使用的目录,请尝试以下方法:
QDir application_dir = QDir( QDir::currentPath() );
这对于调试非常有用。