Qt 路径处理

1、路径拼接

QDir::separator():路径分割符号;
QDir::cleanPath():消除windows与linux下"/","\\"的拼接问题;
QDir::currentPath():当前工作目录。

        当前工作目录下文件"1.txt"路径:

QString path = QDir::cleanPath(QDir::currentPath() + QDir::separator() + QString("/1.txt"))

2、工作目录、运行目录

        工作目录是指当前目录,运行目录是指exe所在路径。所以将1.txt放到对应命令行执行得目录就行,当然这肯定不是最终得解决办法,最终得解决办法就是使用“QCoreApplication::applicationDirPath()”,即为exe所在得目录。

QDir::currentPath() // 当前工作目录。
QCoreApplication::applicationDirPath() // 当前exe所在目录

3、文件路径和文件名、后缀名

QString fullPath = "./Resources/Config/Version.ini";
QFileInfo fileInfo = QFileInfo(fullPath);

fileInfo.absoluteDir().path(); // 绝对目录, "E:/App/Resources/Config"
fileInfo.absolutePath(); // 绝对目录, "E:/App/Resources/Config"
//文件的路径规范路径(不包括文件名),即没有符号链接或冗余“.”或“..”元素的绝对路径
fileInfo.canonicalPath(); // E:/App/Resources/Config

fileInfo.absoluteFilePath(); // 绝对路径,  E:/App/Resources/Config/Version.ini
// 文件的路径规范路径包括文件名,即没有符号链接或冗余“.”或“..”元素的绝对路径
fileInfo.canonicalFilePath();  // E:/App/Resources/Config/Version.ini

fileInfo.baseName(); // 文件名, Version    
fileInfo.completeBaseName(); // 完整的基名由文件中的所有字符组成,直到(但不包括)最后一个“.”字符
fileInfo.suffix() // 文件后缀,"ini"
fileInfo.completeSuffix(); //ini, 完整的后缀由文件中第一个“.”之后(但不包括)的所有字符组成
fileInfo.fileName();  // 文件名,"Version.ini"


fileInfo.dir().path(); // 文件夹路径, ./Resources/Config      
fileInfo.fileName(); // 文件名, Version.ini      
fileInfo.filePath(); // 提供的文件路径带文件, ./Resources/Config/Version.ini    
l_str = l_info.path(); //文件夹路径, ./Resources/Config

你可能感兴趣的:(c++,qt,开发语言)