我有一个程序可以输入几个不同的文件作为输入 我将要知道的是,这些文件将与我的程序位于同一个文件夹中(我知道它们的名字)。
有没有办法写一个文件的路径只知道它的名字,并且它将与主程序在同一个文件夹中?
答案 0 :(得分:4)
如果您确定文件位于程序的同一文件夹中,则可以使用:
QCoreApplication::applicationFilePath()
答案 1 :(得分:3)
您正在从QCoreApplication中寻找这些。
QString QCoreApplication::applicationDirPath() [static]
返回包含应用程序可执行文件的目录。
例如,如果您已在C:\ Qt目录中安装了Qt,并运行了regexp示例,则此函数将返回" C:/ Qt / examples / tools / regexp"。
在Mac OS X上,这将指向实际包含可执行文件的目录,该目录可能位于应用程序包内(如果应用程序是捆绑的) 警告:在Linux上,此函数将尝试从/ proc文件系统获取路径。如果失败,则假定argv [0]包含可执行文件的绝对文件名。该函数还假定应用程序尚未更改当前目录。
和
QString QCoreApplication::applicationFilePath() [static]
返回应用程序可执行文件的文件路径。
例如,如果您已在/ usr / local / qt目录中安装了Qt,并运行了regexp示例,则此函数将返回" / usr / local / qt / examples / tools / regexp / regexp& #34;
警告:在Linux上,此函数将尝试从/ proc文件系统获取路径。如果失败,则假定argv [0]包含可执行文件的绝对文件名。该函数还假定应用程序尚未更改当前目录。
根据您的确切用例,您可以使用其中一个,如果您希望获得可执行路径+附加其他文件,则可能使用前者。