path:路径添加统一化,添加字符串替换。
This commit is contained in:
parent
da08449531
commit
9c396fc579
@ -11,7 +11,9 @@ public:
|
||||
~COfPath();
|
||||
|
||||
public:
|
||||
static bool is_same_path(const ofString& pa, const ofString& pb);
|
||||
static bool isSamePath(const ofString& pa, const ofString& pb);
|
||||
static ofString normalizePath(const ofString& path);
|
||||
static ofString replaceStr(const ofString& str, const ofString& from, const ofString& to);
|
||||
};
|
||||
}; // namespace ofen
|
||||
#endif
|
@ -11,8 +11,31 @@ COfPath::~COfPath()
|
||||
{
|
||||
}
|
||||
|
||||
bool COfPath::is_same_path(const ofString& pa, const ofString& pb)
|
||||
bool COfPath::isSamePath(const ofString& pa, const ofString& pb)
|
||||
{
|
||||
return false;
|
||||
return normalizePath(pa) == normalizePath(pb);
|
||||
}
|
||||
|
||||
ofString COfPath::normalizePath(const ofString& path)
|
||||
{
|
||||
ofString normalized = replaceStr(path, ofT("\\"), ofT("/"));
|
||||
if (!normalized.empty() && normalized.back() == ofT('/')) {
|
||||
normalized.pop_back();
|
||||
}
|
||||
return normalized;
|
||||
}
|
||||
|
||||
ofString COfPath::replaceStr(const ofString& str, const ofString& from, const ofString& to)
|
||||
{
|
||||
if (from.empty()) {
|
||||
return str;
|
||||
}
|
||||
ofString result = str;
|
||||
size_t startPos = 0;
|
||||
while ((startPos = result.find(from, startPos)) != ofString::npos) {
|
||||
result.replace(startPos, from.length(), to);
|
||||
startPos += to.length();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
} // namespace ofen
|
||||
|
Loading…
x
Reference in New Issue
Block a user