本文整理汇总了C++中TPath::GetDirectory方法的典型用法代码示例。如果您正苦于以下问题:C++ TPath::GetDirectory方法的具体用法?C++ TPath::GetDirectory怎么用?C++ TPath::GetDirectory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TPath
的用法示例。
在下文中一共展示了TPath::GetDirectory方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetNewNameForFileDigit
TString GetNewNameForFileDigit(const TPath &oldPath, const TString &nameWithoutDigit, __int64 & counter, size_t & leadingZeros, const TPath &pathForRename)
{
TString pathWithDigit;
const int BUFFER_SIZE = 65;
char buffer[BUFFER_SIZE];
TString leadingZeroString;
counter++;
if (leadingZeros > 0)
{
if (LengthOfLong(counter) > LengthOfLong(counter - 1)) //если цифра удленилась
leadingZeros--;
for (size_t i = 0; i < leadingZeros; i++)
leadingZeroString.push_back('0');
}
if (_i64toa_s(counter, buffer, BUFFER_SIZE, 10) == 0)
{
pathWithDigit = CreatePath(oldPath.GetDirectory(), nameWithoutDigit + leadingZeroString + TString(buffer) + oldPath.GetExtension());
if(TPath::EqualByNameWithExtension(pathWithDigit, pathForRename))
return pathForRename.Original();
if (IsFileExists(pathWithDigit.c_str())) //если такой файл уже есть, то не увеличиваем номер, а добавляем _2
return GetNewNameForFileAdd(oldPath);
}
else
return GetNewNameForFileAdd(oldPath);
return pathWithDigit;
}
示例2: GetNewNameForFileAdd
// Перименовываем, добавляя _2 к имени файла.
TString GetNewNameForFileAdd(const TPath &oldPath)
{
TString uniquePath;
const int SIMILAR_PREFIX_SIZE = 16;
const TChar *SIMILAR_PREFIX_FORMAT = TEXT("_%u");
TChar buffer[SIMILAR_PREFIX_SIZE];
unsigned long counter = 2;
do
{
_stprintf_s(buffer, SIMILAR_PREFIX_FORMAT, counter++);
uniquePath = CreatePath(oldPath.GetDirectory(), oldPath.GetName(false) + TString(buffer) + oldPath.GetExtension());
}
while (IsFileExists(uniquePath.c_str()));
return uniquePath;
}