20241112 wxpathname和qt的路径获取
明昧 Lv7
1
wxFileName file("C:\\Users\\Example\\Documents\\file.txt");

在这个例子中,file 的路径是 "C:\\Users\\Example\\Documents\\file.txt",其中:

  • 驱动器C:
  • 文件夹路径C:\\Users\\Example\\Documents
  • 文件名file.txt

使用 GetPathGetFullPath

  • file.GetPath(wxPATH_NATIVE, wxPATH_GET_VOLUME | wxPATH_GET_SEPARATOR)
    返回:"C:\\Users\\Example\\Documents\\"
    GetPath 结果包含了驱动器(C:)和完整文件夹路径,并且结尾带有路径分隔符。
  • file.GetFullPath()
    返回:"C:\\Users\\Example\\Documents\\file.txt"
    GetFullPath 返回文件的完整路径,包括驱动器、目录路径和文件名。

说明

  • GetPath(wxPATH_NATIVE, wxPATH_GET_VOLUME | wxPATH_GET_SEPARATOR) 组合了 wxPATH_GET_VOLUMEwxPATH_GET_SEPARATOR 标志,因此会返回路径的驱动器部分,并在路径末尾添加分隔符。
  • GetFullPath() 是最完整的形式,适合需要完整访问文件路径的场景。

qt路径获取

好的,以下是一个具体的例子来演示如何使用 absoluteDir()、absolutePath() 和 absoluteFilePath() 来处理文件路径。

/home/user/documents/project/test/file.txt

#include <QCoreApplication>
#include <QFileInfo>
#include <QDir>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    // 假设这是我们的文件路径
QString filePath = "/home/user/documents/project/test/file.txt";

// 创建 QFileInfo 对象来获取文件信息
QFileInfo fileInfo(filePath);

// 获取文件所在目录的 QDir 对象
QDir dir = fileInfo.absoluteDir();
qDebug() << "absoluteDir:" << dir.absolutePath();  // 输出:"/home/user/documents/project/test"

// 获取文件所在目录的绝对路径
QString dirPath = fileInfo.absolutePath();
qDebug() << "absolutePath:" << dirPath;  // 输出:"/home/user/documents/project/test"

// 获取文件的完整绝对路径
QString fileAbsPath = fileInfo.absoluteFilePath();
qDebug() << "absoluteFilePath:" << fileAbsPath;  // 输出:"/home/user/documents/project/test/file.txt"

return a.exec();
}
1
2
3
4
absoluteDir: "/home/user/documents/project/test"
absolutePath: "/home/user/documents/project/test"
absoluteFilePath: "/home/user/documents/project/test/file.txt"

 Comments
Comment plugin failed to load
Loading comment plugin
Powered by Hexo & Theme Keep
Unique Visitor Page View