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

QString file_full, file_name, file_path,file_suffix ;
QFileInfo fileinfo;
file_full = QFileDialog::getOpenFileName(this,.....);
fileinfo = QFileInfo(file_full);
//文件名
file_name = fileinfo.fileName(); 
//文件后缀
file_suffix = fileinfo.suffix()
//绝对路径
file_path = 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	  

 

你可能感兴趣的:(Qt)