defaultname.cpp

来自「7-Zip 3.11的源码」· C++ 代码 · 共 34 行

CPP
34
字号
// DefaultName.cpp

#include "StdAfx.h"

#include "Windows/FileDir.h"

#include "Common/StringConvert.h"
#include "DefaultName.h"

const wchar_t *kEmptyFileAlias = L"[Content]";

using namespace NWindows;
using namespace NFile;
using namespace NDirectory;

UString GetDefaultName(const UString &fullFileName, 
    const UString &extension, const UString &addSubExtension)
{
  UString fileName;
  if (!GetOnlyName(fullFileName, fileName))
    throw 5011749;
  int extLength = extension.Length();
  int fileNameLength = fileName.Length();
  if (fileNameLength <= extLength + 1)
    return kEmptyFileAlias;
  int dotPos = fileNameLength - (extLength + 1);
  if (fileName[dotPos] != '.')
    return kEmptyFileAlias;
  if (extension.CollateNoCase(fileName.Mid(dotPos + 1)) == 0)
    return fileName.Left(dotPos) + addSubExtension;
  return kEmptyFileAlias;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?