将文件路径存储到QString[Qt]中

将文件路径存储到QString[Qt]中,qt,path,filenames,Qt,Path,Filenames,我想通过对话框文件打开一个文件,然后将文件路径存储到文本文件中。 问题是,当我使用absoluteFilePath()函数时,会出现一个错误。这是我的密码: filename = QFileDialog::getOpenFileName(this, "Open File","*.H86;;*.glo"); //enregistrer le dernier chemin utilisé pour ouvrir un fichier FILE* fichier = NULL; fichier =

我想通过对话框文件打开一个文件,然后将文件路径存储到文本文件中。 问题是,当我使用absoluteFilePath()函数时,会出现一个错误。这是我的密码:

filename = QFileDialog::getOpenFileName(this, "Open File","*.H86;;*.glo");

//enregistrer le dernier chemin utilisé pour ouvrir un fichier
FILE* fichier = NULL;
fichier = fopen("LastPath.txt","w");
if(fichier != NULL)
{

    QString filename_fichier_choisi = filename.QFileInfo::absoluteFilePath();
    fputs(filename_fichier_choisi.toLatin1(),fichier);

    //fichier->write(filename.toLatin1());
}
fclose(fichier);
我得到的错误是“QFileInfo不是QString的基。
我可以使用哪个函数以字符串形式获取路径?

首先,为什么要混合使用Qt和FILE*而不直接使用QFile

您可以执行以下操作以获取文件路径:

QString file = QFileInfo(filename).absoluteFilePath();
或者,如果您只需要文件夹:

QString folder = QFileInfo(filename).absolutePath();

你似乎是新的C++。你先需要一个特定类型的对象,然后才能调用那个类型的函数。因此,<代码> qFieFipe(文件名)创建了<代码> qFieFiele对象,然后创建了<代码> .abpFieldPyPATH()。调用所创建对象上的函数。

好的,谢谢!我更正了我的代码,因此不使用FILE*但QFile和我仍然有一个问题:当我只需要路径时,文件夹QString仍然包含我的文件名。@AlexandreNader,很抱歉,我已更新了答案以提供给您文件夹。再次感谢您的帮助