itemnameutils.cpp
来自「由7-zip提供的压缩、解压缩程序」· C++ 代码 · 共 60 行
CPP
60 行
// Archive/Common/ItemNameUtils.cpp#include "StdAfx.h"#include "ItemNameUtils.h"namespace NArchive {namespace NItemName {static const wchar_t kOSDirDelimiter = WCHAR_PATH_SEPARATOR;static const wchar_t kDirDelimiter = L'/';UString MakeLegalName(const UString &name){ UString zipName = name; zipName.Replace(kOSDirDelimiter, kDirDelimiter); return zipName;}UString GetOSName(const UString &name){ UString newName = name; newName.Replace(kDirDelimiter, kOSDirDelimiter); return newName;}UString GetOSName2(const UString &name){ if (name.IsEmpty()) return UString(); UString newName = GetOSName(name); if (newName[newName.Length() - 1] == kOSDirDelimiter) newName.Delete(newName.Length() - 1); return newName;}bool HasTailSlash(const AString &name, UINT codePage){ if (name.IsEmpty()) return false; LPCSTR prev = #ifdef _WIN32 CharPrevExA(codePage, name, &name[name.Length()], 0); #else (LPCSTR)(name) + (name.Length() - 1); #endif return (*prev == '/');}#ifndef _WIN32UString WinNameToOSName(const UString &name){ UString newName = name; newName.Replace(L'\\', kOSDirDelimiter); return newName;}#endif}}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?