PathAppend是一个有用的winapi函数,它允许您在处理任何尾部反斜杠(或缺少反斜杠)时将一条路径附加到另一条路径.
这意味着追加"/dir1"到"dir2",或者"/dir1"到"/dir2",或"/dir1/"以"/dir2"会产生相同的(正确的)结果- "/dir1/dir2"(虽然只是concatening将分别产生"/dir1dir2","/dir1/dir2"和"/dir1//dir2").
是否有任何Qt功能做类似的事情?
Adr*_*tti 18
没有那个功能,但QDir::cleanPath()会处理你需要的一切,你只需要连接路径:
QString appendPath(const QString& path1, const QString& path2)
{
return QDir::cleanPath(path1 + QDir::separator() + path2);
}
Run Code Online (Sandbox Code Playgroud)
我使用QDir::separator()而不是原始的"/",但它不是强制性的,因为QT在内部将该分隔符转换为本地分隔符(如果需要,请参阅使用Qt构建FS路径的跨平台方式).
请注意(对于具有.NET背景的人),还有另一个类似的功能:Path.Combine()它的行为与某种程度相似,PathAppend()但却有所不同.请参阅是否有QPath :: Combine()?用于QT 仿真其行为(以及稍微更详细的差异概述).
| 归档时间: |
|
| 查看次数: |
4706 次 |
| 最近记录: |