commit 2025-10-10 13:08 edit a bit ZCppMain/ZMainHeadEx.H

This commit is contained in:
2025-10-10 13:09:04 +09:00
parent d220831b19
commit 5a23263a92
3 changed files with 189 additions and 178 deletions

View File

@ -3987,8 +3987,8 @@ namespace ZNsMain
if(VI_Index<0) return ARR_CStringExt;
return ARR_CStringExt(
APC_FileName+VI_Index+1, AI_Length-(VI_Index+1));
return ARR_CStringExt
( APC_FileName+VI_Index+1, AI_Length-(VI_Index+1) );
}/*
template<typename TString, typename TTypChar> ///////////////
static TString& GetExtName
@ -4000,19 +4000,23 @@ namespace ZNsMain
///////////////////////////////////////////////////////////*/
template<typename TString, typename TTypChar> static bool SetExtName(
const TTypChar* APC_FileName, ZTypLength AI_FileLen ,
const TTypChar* APC_FileExt , ZTypLength AI_ExtLength,
TString& ARR_CStringFileNew
/*#########*/ ) /*#################################################*/
template<typename TString, typename TTypChar> static bool SetExtName
(
const TTypChar* APC_FileName, ZTypLength AI_FileLen ,
const TTypChar* APC_FileExt , ZTypLength AI_ExtLength,
TString& ARR_CStringFileNew
)
/*################################################################*/
{
// APC_FileName 의 확장자를 APC_FileExt 으로 바꾼
// 새로운 파일명을 ARR_CStringFileNew 에 전달한다.
ZTypLength VL_ExtPos=ZCMainChars::FindPosFromEnd(
APC_FileName, ".",
AI_FileLen ,(ZTypLength)1
/*/////////*/ ); ////////////////////////////////
ZTypLength VL_ExtPos=ZCMainChars::FindPosFromEnd
(
APC_FileName, TTypChar(".") ,
AI_FileLen , (ZTypLength)1
);
/**********************************************/
if(VL_ExtPos<0 || VL_ExtPos==AI_FileLen-1)
{
@ -4027,34 +4031,54 @@ namespace ZNsMain
}/*
else if(VL_ExtPos==0)*/
ARR_CStringFileNew.append(APC_FileName, VL_ExtPos );
ARR_CStringFileNew+=".";
ARR_CStringFileNew.append(APC_FileExt , AI_ExtLength);
ARR_CStringFileNew.append(APC_FileName , VL_ExtPos );
ARR_CStringFileNew.append(TTypChar('.') );
ARR_CStringFileNew.append(APC_FileExt , AI_ExtLength );
return true;
}/*
template<typename TString, typename TTypChar> static bool SetExtName(
const TTypChar* APC_FileName, ZTypLength AI_FileLen ,
const TTypChar* APC_FileExt , ZTypLength AI_ExtLength,
TString& ARR_CStringFileNew
############# ) ###################################################*/
template<typename TString, typename TTypChar> static bool SetExtName
(
const TTypChar* APC_FileName, ZTypLength AI_FileLen ,
const TTypChar* APC_FileExt , ZTypLength AI_ExtLength,
TString& ARR_CStringFileNew
)
##################################################################*/
template<typename TString> static bool SetExtName(
const TString& AR_CStringFileNow, const TString& AR_CStringNewExt, TString& ARR_CStringFileNew)
{
return SetExtName( /////////////////////////////
AR_CStringFileNow.c_str(),
AR_CStringFileNow.size() ,
AR_CStringNewExt.c_str() ,
AR_CStringNewExt.size() ,
RR(ARR_CStringFileNew)
/*//////////*/ ); //////////////////////////////
return SetExtName /**************/
(
AR_CStringFileNow.data() ,
AR_CStringFileNow.size() ,
AR_CStringNewExt .data() ,
AR_CStringNewExt .size() ,
RR(ARR_CStringFileNew)
);
/********************************/
}/*
template<typename TString> static bool SetExtName(
const TString& AR_CStringFileNow, const TString& AR_CStringNewExt, TString& ARR_CStringFileNew) */
template<typename TString, typename TCharView> static bool SetExtName
(
const TCharView& AR_FileName, const TCharView& AR_FileExt, TString& ARR_CStringFileNew
)
/*#################################################################*/
{
return SetExtName /***************************/
(
AR_FileName.data(), AR_FileName.size(),
AR_FileExt .data(), AR_FileExt .size()
);
/*********************************************/
}
/*#################################################################*/
template<typename TString, typename TTypChar> static bool SetFileName
(
const TTypChar* APC_FileNow, ZTypLength AI_FileNowLen,
@ -4066,10 +4090,11 @@ namespace ZNsMain
/* 파일 APC_FileNow 의 확장자를 뺀 부분을 APC_FileNew 으로 바꾼,
새로운 파일명을 ARR_CStringFileNew 에 전달한다. */
ZTypLength VL_ExtPos=ZCMainChars::FindPos( /////////
APC_FileNow , ".",
AI_FileNowLen, 1
/*/////////*/ ); //////////////////////////////////
ZTypLength VL_ExtPos=ZCMainChars::FindPos
(
APC_FileNow , ".", AI_FileNowLen, 1
);
/***************************************/
if(VL_ExtPos<0)
{ ARR_CStringFileNew.append(APC_FileNew, AI_FileNewLen); return false; }
@ -4078,7 +4103,7 @@ namespace ZNsMain
/*else if(VL_ExtPos==0)*/
ARR_CStringFileNew.append(APC_FileNew, AI_FileNewLen);
ARR_CStringFileNew+=".";
ARR_CStringFileNew.append('.');
if(VL_ExtPos<AI_FileNowLen-1)
{
@ -4087,9 +4112,7 @@ namespace ZNsMain
APC_FileNow+VL_ExtPos+1, AI_FileNowLen-VL_ExtPos-1
);
}
/////////////////////////////
return true;
return true; /**************/
}/*
template<typename TString, typename TTypChar> static bool SetFileName
(
@ -4103,13 +4126,13 @@ namespace ZNsMain
template<typename TString> static bool SetFileName(
const TString& AR_CStringFileNow, const TString& AR_CStringNewExt, TString& ARR_CStringFileNew)
{
return SetFileName( ///////////////////////////
AR_CStringFileNow.data(),
AR_CStringFileNow.size(),
AR_CStringNewExt .data(),
AR_CStringNewExt .size(),
RR(ARR_CStringFileNew)
/*//////////*/ ); /////////////////////////////
return SetFileName /**************************************/
(
AR_CStringFileNow.data(), AR_CStringFileNow.size(),
AR_CStringNewExt .data(), AR_CStringNewExt .size(),
RR(ARR_CStringFileNew)
);
/*********************************************************/
}/*
template<typename TString> static bool SetFileName(
const TString& AR_CStringFileNow, const TString& AR_CStringNewExt, TString& ARR_CStringFileNew) */
@ -4144,13 +4167,12 @@ namespace ZNsMain
return APC_PathName+VL_FindPos+1;
}/*
template<typename TTypChar>
static const TTypChar* GetFileNameInPath ///////////////////////
(
const TTypChar* APC_PathName,
ZTypLength AI_Length ,
ZTypLength& ARRI_FileName
)
template<typename TTypChar> static const TTypChar* GetFileNameInPath
(
const TTypChar* APC_PathName,
ZTypLength AI_Length ,
ZTypLength& ARRI_FileName
)
//////////////////////////////////////////////////////////////////*/
template<typename TString, typename TTypChar>
@ -4179,7 +4201,7 @@ namespace ZNsMain
static TString& GetFileNameInPath(const TChars& AR_PathName, TString& ARR_FileNameCStr) */
static bool RmAnyDir /*###############################################################*/
static bool RmAnyDir ///////////////////////////////////////////////////////////////////
( ZTypCPCh AP_DirName, void (*APF_ExceptHandle)
(
ZTypCPCh AP_FileName, ZCFileData& AR_CFileData, ZTypCPCCh AP_Message
@ -4466,7 +4488,7 @@ namespace ZNsMain
#endif //!defined(_WIN) && !defined(_REENTRANT)
}/*
static bool RmAnyDir ################################################################@#
static bool RmAnyDir //////////////////////////////////////////////////////////////////
(
ZTypCPCh AP_DirName ,
void (*APF_ExceptHandle)
@ -5027,7 +5049,7 @@ namespace ZNsMain
ZCFileData VO_CFileData;
#if defined(_REENTRANT) && !defined(_NO_USE_REEDDIR_R_)
dirent VO_DirEnt;
dirent VO_DirEnt ;
#endif
dirent* VP_DirEnt;
TypeDirID VH_File= ::opendir(APC_DirPath);
@ -7360,6 +7382,9 @@ namespace ZNsMain
if(AL_Offset<0) AL_Offset=0;
typedef ZtCCharType<TStringData> ZCCharType;
typedef typename ZCCharType::TypeChar Typechar ;
#ifndef _WIN
int AH_FileDesc = ::open
@ -7401,13 +7426,15 @@ namespace ZNsMain
if((VL_ReadSize = ::read(AH_FileDesc, VP_CopyStart, VL_LastPos))<0)
{
ARR_SaveCStr.resize(VL_PrevSize, ' '); ::close(AH_FileDesc); return true;
ARR_SaveCStr.resize(VL_PrevSize, Typechar(0));
::close(AH_FileDesc); return true; /*********/
}
/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
ARR_SaveCStr.resize(VL_PrevSize+VL_ReadSize, ' ');
ARR_SaveCStr.resize(VL_PrevSize+VL_ReadSize, Typechar(0));
::close(AH_FileDesc); return true; /*:::::::::::*/
::close(AH_FileDesc); return true; /*********************/
#else //defined(_WIN)
@ -7448,17 +7475,17 @@ namespace ZNsMain
if(::ReadFile(VH_File, (LPVOID)VP_CopyStart, dwRead, &dwRead2, NULL)==FALSE)
{
ARR_SaveCStr.resize(VL_PrevSize+dwRead2, ' ');
ARR_SaveCStr.resize(VL_PrevSize+dwRead2, Typechar(0));
::CloseHandle(VH_File); return false;
::CloseHandle(VH_File); return false; /**************/
}
/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
::CloseHandle(VH_File);
if(dwRead2>0)
ARR_SaveCStr.resize(VL_PrevSize+dwRead2, ' ');
else ARR_SaveCStr.resize(VL_PrevSize , ' ');
ARR_SaveCStr.resize(VL_PrevSize+dwRead2, Typechar(0));
else ARR_SaveCStr.resize(VL_PrevSize , Typechar(0));
return true;