20241112 wxpathname和qt的路径获取

1 | wxFileName file("C:\\Users\\Example\\Documents\\file.txt"); |
在这个例子中,file
的路径是 "C:\\Users\\Example\\Documents\\file.txt"
,其中:
- 驱动器是
C:
- 文件夹路径是
C:\\Users\\Example\\Documents
- 文件名是
file.txt
使用 GetPath
和 GetFullPath
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_VOLUME
和wxPATH_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 | absoluteDir: "/home/user/documents/project/test" |
Comments
Comment plugin failed to load
Loading comment plugin