C++ QT:计算一个路径相对于另一个路径的相对路径,及其反算

本文介绍了如何使用C++的QT库计算一个路径相对于另一个路径的相对路径,并探讨了如何反算回绝对路径。通过实例代码展示了具体实现过程,尽管作者谦称水平有限,但提供的解决方案可供参考。
摘要由CSDN通过智能技术生成

计算相对路径

/*
## 求   某文件集合B  相对于 某文件A 的相对路径
@fileName 某文件A路径
@list 某文件路径的集合B
*/

QStringList calcRelativePath(QString fileName, QStringList list)
{

	QStringList relativeList;
	QDir dir(fileName);

	for each (QString str in list)
	{
		if (str.at(0) == fileName.at(0)) 
		{
			QString temp = dir.relativeFilePath(str);
			relativeList.append(temp);
		}
		else
		{
            // 两个路径不在同一个盘符
			relativeList.append(str);
		}
	}
	return relativeList;
}

   

反算绝对路径

/*
##根据 某文件集合B  相对于 某文件A 的相对路径 反算绝对路径
@fileName 某文件A路径
@list 某文件路径的集合B
*/
QStringList  calcAbsolutePath(QString fileName, QStringList  list)
{
	QStringList absoluteList;

	for each (QString str in list)
	{
		if (str.at(1) == ':') 
		{
            //若绝对路径,则直接追加到集合中
			absoluteList.append(str);
		}
		else
		{
			QDir dir(fileName);

			while (str.startsWith("../"))
			{
				str.remove(0, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值