Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt:告诉程序从与其相同的目录读取其他文件';被安置在_C++_Qt_Qtcore_Qfile_Qcoreapplication - Fatal编程技术网

C++ Qt:告诉程序从与其相同的目录读取其他文件';被安置在

C++ Qt:告诉程序从与其相同的目录读取其他文件';被安置在,c++,qt,qtcore,qfile,qcoreapplication,C++,Qt,Qtcore,Qfile,Qcoreapplication,我有一个程序,它将接收几个不同的文件作为输入。 我只知道这些文件将与我的程序位于同一个文件夹中(我知道它们的名称) 有没有一种方法可以写入一个文件的路径,只知道它的名称,并且它将与主程序位于同一个文件夹中 您正在从QCoreApplication中查找这些 返回包含应用程序可执行文件的目录 例如,如果您已在C:\Qt目录中安装了Qt,并且运行regexp示例,则此函数将返回“C:/Qt/examples/tools/regexp” 在Mac OS X上,这将指向实际包含可执行文件的目录,该目录

我有一个程序,它将接收几个不同的文件作为输入。
我只知道这些文件将与我的程序位于同一个文件夹中(我知道它们的名称)


有没有一种方法可以写入一个文件的路径,只知道它的名称,并且它将与主程序位于同一个文件夹中

您正在从QCoreApplication中查找这些

返回包含应用程序可执行文件的目录

例如,如果您已在C:\Qt目录中安装了Qt,并且运行regexp示例,则此函数将返回“C:/Qt/examples/tools/regexp”

在Mac OS X上,这将指向实际包含可执行文件的目录,该目录可能位于应用程序捆绑包中(如果应用程序已捆绑) 警告:在Linux上,此函数将尝试从/proc文件系统获取路径。如果失败,则假定argv[0]包含可执行文件的绝对文件名。该函数还假定应用程序未更改当前目录

返回应用程序可执行文件的文件路径

例如,如果在/usr/local/Qt目录中安装了Qt,并且运行regexp示例,则此函数将返回“/usr/local/Qt/examples/tools/regexp/regexp”

警告:在Linux上,此函数将尝试从/proc文件系统获取路径。如果失败,则假定argv[0]包含可执行文件的绝对文件名。该函数还假定应用程序未更改当前目录


根据具体的用例,您可以使用其中一个,如果您希望获得可执行路径和附加的其他文件,则可能使用前者。

如果您确定这些文件位于您可以使用的程序的同一文件夹中:

QCoreApplication::applicationFilePath()

ITT程序是一个“he”。你不想得到可执行文件实际存储的目录路径吗?您可以从
main()
参数中获得
argv[0]
。@πάνταῥεῖ: 如果不使用指向可执行文件的绝对路径,这真的不起作用。@LaszloPapp这就是为什么我说“你会幸运的…”;)您可以解析
路径
变量内容。