qt中获取文件路径和文件名、后缀名

QString fileName, filePath,fileSuffix;
QString fullPath = QFileDialog::getOpenFileName(this,.....);
QFileInfo fileInfo = QFileInfo(fullPath);
//文件名
fileName = fileInfo.fileName(); 
//文件后缀
fileSuffix = fileInfo.suffix()
//绝对路径
filePath = fileInfo.absolutePath();

QFileInfo的其他函数扩展:
 
QFileInfo l_info("./Resources/Config/Version.ini");
 
QString l_str;
 
//绝对路径文件夹地址,不包含文件名称
l_str = l_info.absoluteDir().path();//E:/App/Resources/Config     
 
//绝对路径包含文件
l_str = l_info.absoluteFilePath();//E:/App/Resources/Config/Version.ini      
 
//绝对路径不包含文件
l_str = l_info.absolutePath();//E:/App/Resources/Config     
 
//文件名
l_str = l_info.baseName();//Version      
 
//文件的路径规范路径包括文件名,即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalFilePath();//E:/App/Resources/Config/Version.ini      
 
//文件的路径规范路径(不包括文件名),即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalPath();//E:/App/Resources/Config      
 
//完整的基名由文件中的所有字符组成,直到(但不包括)最后一个“.”字符
l_str = l_info.completeBaseName();//Version      
 
//完整的后缀由文件中第一个“.”之后(但不包括)的所有字符组成
l_str = l_info.completeSuffix();//ini      
 
//文件夹路径
l_str = l_info.dir().path();//./Resources/Config     
 
//文件名
l_str = l_info.fileName();//Version.ini      
 
//提供的文件路径带文件
l_str = l_info.filePath();//./Resources/Config/Version.ini    
 
//文件夹路径
l_str = l_info.path();//./Resources/Config      
 
//文件后缀
l_str = l_info.suffix();//ini

如果是路径带多个后缀的对比

QFileInfo l_info("./Resources/Config/Abc.tar.gz");
 
QString l_str;
 
l_str = l_info.absoluteDir().path();//E:/App/Resources/Config     
 
//据对路径包含文件
l_str = l_info.absoluteFilePath();//E:/App/Resources/Config/Abc.tar.gz      
 
//绝对路径不包含文件
l_str = l_info.absolutePath();//E:/App/Resources/Config     
 
//文件名
l_str = l_info.baseName();//Abc
 
//文件的路径规范路径包括文件名,即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalFilePath();//E:/App/Resources/Config/Abc.tar.gz      
 
//文件的路径规范路径(不包括文件名),即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalPath();//E:/App/Resources/Config      
 
//完整的基名由文件中的所有字符组成,直到(但不包括)最后一个“.”字符
l_str = l_info.completeBaseName();//Abc.tar
 
//完整的后缀由文件中第一个“.”之后(但不包括)的所有字符组成
l_str = l_info.completeSuffix();//tar.gz    
 
l_str = l_info.dir().path();//./Resources/Config     
 
//文件名
l_str = l_info.fileName();//Abc.tar.gz 
 
//提供的文件路径带文件
l_str = l_info.filePath();//./Resources/Config/Abc.tar.gz    
 
l_str = l_info.path();//./Resources/Config      
 
l_str = l_info.suffix();//gz      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值