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      


————————————————
版权声明:本文为CSDN博主「chan_qx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chan_qx/article/details/50950371

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值