我运行Qt应用程序,我想知道的是这个正在运行的二进制文件名。
答案 0 :(得分:90)
我必须(部分)不同意其他评论,这不是Qt问题:有一个Qt方法QCoreApplication::applicationFilePath()
,它给出了可执行文件的目录+文件名。
在Linux上,这将尝试使用/proc
,在Windows上可能会GetModuleFileName()
。根据文档,它将回归argv[0]
。
然后,您可以使用QFileInfo
将其拆分为可执行文件名和目录。
QFileInfo(QCoreApplication::applicationFilePath()).fileName()
答案 1 :(得分:3)
Qapplication解析命令行arguemnts,第一个条目是可执行文件的名称 - 这与标准C中的argv [0]大致相同,但如果您有Unicode构建或者如果应用程序作为服务启动
答案 2 :(得分:-2)
再次不是Qt问题。要找到执行的二进制文件的名称,它将类似于。
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
cout << argv[0] << endl;
return 0;
}