Qt:告诉程序从放置它的同一目录中读取其他文件
Qt: Telling a program to read other files from the same directory as it's placed in
我有一个程序,它将接受几个不同的文件作为输入。
我所要知道的是,这些文件将与我的程序在同一个文件夹中(并且我知道它们的名称)。
是否有一种方法来写一个路径到一个文件只知道它的名字,它将在同一文件夹的主程序?
如果您确定这些文件与您的程序在同一个文件夹中,您可以使用:
QCoreApplication::applicationFilePath()
您正在从QCoreApplication中寻找这些
QString QCoreApplication:: applicationdir () [static]
返回包含应用程序可执行文件的目录。
例如,如果您在C:Qt目录下安装了Qt,并且运行regexp示例,此函数将返回"C:/Qt/examples/tools/regexp"
在Mac OS X上,这将指向实际包含可执行文件的目录,该目录可能位于应用程序包中(如果应用程序是捆绑的)警告:在Linux上,此函数将尝试从/proc文件系统获取路径。如果失败,它假定argv[0]包含可执行文件的绝对文件名。该函数还假定当前目录未被应用程序更改。
和
QString QCoreApplication::applicationFilePath()
返回应用程序可执行文件的文件路径
例如,如果您在/usr/local/Qt目录下安装了Qt,并且运行regexp示例,该函数将返回"/usr/local/Qt/examples/tools/regexp/regexp"
警告:在Linux上,此函数将尝试从/proc文件系统中获取路径。如果失败,它假定argv[0]包含可执行文件的绝对文件名。该函数还假定当前目录未被应用程序更改。
根据您的具体用例,您可以使用其中之一,如果您希望获得可执行路径+附加的其他文件,则可能使用前者。
- 在其他文件中创建类时在 c++ 项目中不起作用
- 我应该将除 .cpp 以外的其他文件添加到 git 中吗?
- 如何在其他文件中使用函数
- C++ - 忽略并从其他文件获取数据
- CMake:在其他目录中找不到我的头文件
- 无法使用 CMake 从其他文件夹添加源文件
- 如何使用 C/C++ 和 system() 系统调用以外的其他方法在 Linux 中获取文件功能?
- 从文件中查找单词并替换到其他文件中
- 在命名空间中声明变量,在 main 中定义它,使其对所有其他文件可见
- 没有头文件如何使用c ++调用其他模块中的函数?
- 访问从 CPP 文件到其他头文件的静态变量
- 不能在其他文件中包含结构
- 无法打开包含文件'Graphics.hpp'没有这样的文件或目录,Visual Studio的其他包含不起作用
- 如何在 Linux 下使用 c++ 知道文件是否被其他进程使用?
- 使用函数打开文件,然后让其他函数利用该文件?
- 如何使用Winforms C#或C++.Net在不更改文件中其他内容的情况下修改jpg文件中的Orientation e
- 如何调试visual studio 2017生成的C++代码.android中的SO文件和其他第三方库
- 如何使用QXmlStreamReader解析包含对其他XML文件的引用的XML文件
- 如何在不受其他文件影响的情况下"by itself" Visual Studio 项目中运行C++文件?
- 如何将 cpp 文件中的静态函数公开给其他文件