commit 2025-08-21 00:30 edit a bit ZtCStringBase
This commit is contained in:
@ -2410,13 +2410,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
*VPC_CharDest-- = APC_Origin[VL_NowIndex--];
|
*VPC_CharDest-- = APC_Origin[VL_NowIndex--];
|
||||||
}/*
|
}/*
|
||||||
/////////////////////////////*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
for(int p=AL_ReplaceLen-1; p>=0; --p)
|
for(int p=AL_ReplaceLen-1; p>=0; --p)
|
||||||
{
|
{
|
||||||
*VPC_CharDest-- = APC_Replace[p];
|
*VPC_CharDest-- = APC_Replace[p];
|
||||||
}/*
|
}/*
|
||||||
///////////////////////////////////*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
VL_NowIndex=AR_InfoList.ItD(VI_InfoIter).ml_Pos-1;
|
VL_NowIndex=AR_InfoList.ItD(VI_InfoIter).ml_Pos-1;
|
||||||
|
|
||||||
@ -2662,16 +2662,16 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
VL_SearchPos1 = VL_SearchPos2 + AL_SearchLen2 ; continue;
|
VL_SearchPos1 = VL_SearchPos2 + AL_SearchLen2 ; continue;
|
||||||
}/*
|
}/*
|
||||||
/////////////////////////////////////////////*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
ReplaceSection //////////////////////////////////
|
ReplaceSection ////////////////////////////////
|
||||||
(
|
(
|
||||||
VL_SearchPos1+AL_SearchLen1
|
VL_SearchPos1+AL_SearchLen1
|
||||||
, VL_SearchPos2-VL_SearchPos1-AL_SearchLen1
|
, VL_SearchPos2-VL_SearchPos1-AL_SearchLen1
|
||||||
, APC_Replace
|
, APC_Replace
|
||||||
, AL_ReplaceLen
|
, AL_ReplaceLen
|
||||||
);
|
);
|
||||||
/////////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
|
|
||||||
VL_SearchPos1 += AL_SearchLen1 + AL_ReplaceLen + AL_SearchLen2 ;
|
VL_SearchPos1 += AL_SearchLen1 + AL_ReplaceLen + AL_SearchLen2 ;
|
||||||
}
|
}
|
||||||
@ -2713,11 +2713,11 @@ namespace ZNsMain
|
|||||||
|
|
||||||
|
|
||||||
ZCStringBase& ReplaceAllRange( ////////////////////////////////
|
ZCStringBase& ReplaceAllRange( ////////////////////////////////
|
||||||
const ZCStringBase& AR_CStrSearch1,
|
const ZCStringBase& AR_CStrSearch1 ,
|
||||||
const ZCStringBase& AR_CStrSearch2,
|
const ZCStringBase& AR_CStrSearch2 ,
|
||||||
const ZCStringBase& AR_CStrReplace,
|
const ZCStringBase& AR_CStrReplace ,
|
||||||
bool AB_DoKeepSearch=false,
|
bool AB_DoKeepSearch=false ,
|
||||||
TypeLength AL_StartPos =0
|
TypeLength AL_StartPos =0
|
||||||
/*/////////*/ ) ///////////////////////////////////////////////
|
/*/////////*/ ) ///////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
return ReplaceAllRange( ///////////////////////////////////
|
return ReplaceAllRange( ///////////////////////////////////
|
||||||
@ -2732,11 +2732,11 @@ namespace ZNsMain
|
|||||||
/*/////////*/ ); //////////////////////////////////////////
|
/*/////////*/ ); //////////////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
ZCStringBase& ReplaceAllRange( ////////////////////////////////
|
ZCStringBase& ReplaceAllRange( ////////////////////////////////
|
||||||
const ZCStringBase& AR_CStrSearch1,
|
const ZCStringBase& AR_CStrSearch1 ,
|
||||||
const ZCStringBase& AR_CStrSearch2,
|
const ZCStringBase& AR_CStrSearch2 ,
|
||||||
const ZCStringBase& AR_CStrReplace,
|
const ZCStringBase& AR_CStrReplace ,
|
||||||
bool AB_DoKeepSearch=false,
|
bool AB_DoKeepSearch=false ,
|
||||||
TypeLength AL_StartPos =0
|
TypeLength AL_StartPos =0
|
||||||
//////////// ) ////////////////////////////////////////////*/
|
//////////// ) ////////////////////////////////////////////*/
|
||||||
|
|
||||||
|
|
||||||
@ -2748,16 +2748,18 @@ namespace ZNsMain
|
|||||||
TypeLength AL_StartPos =0
|
TypeLength AL_StartPos =0
|
||||||
/*/////////*/ ) ///////////////////////////////////////////////
|
/*/////////*/ ) ///////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
return ReplaceAllRange( ////////////////////////////////////////////
|
return ReplaceAllRange //>>>>>>>>>>>>>>>>>
|
||||||
APC_Search1 ,
|
(
|
||||||
APC_Search2 ,
|
APC_Search1 ,
|
||||||
APC_Replace ,
|
APC_Search2 ,
|
||||||
AB_DoKeepSearch ,
|
APC_Replace ,
|
||||||
AL_StartPos ,
|
AB_DoKeepSearch ,
|
||||||
GetLength(APC_Search1),
|
AL_StartPos ,
|
||||||
GetLength(APC_Search2),
|
GetLength(APC_Search1),
|
||||||
GetLength(APC_Replace)
|
GetLength(APC_Search2),
|
||||||
/*/////////*/ );
|
GetLength(APC_Replace)
|
||||||
|
);
|
||||||
|
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
}/*
|
}/*
|
||||||
ZCStringBase& ReplaceAllRange( ////////////////////////////////
|
ZCStringBase& ReplaceAllRange( ////////////////////////////////
|
||||||
TypeCharC* APC_Search1 ,
|
TypeCharC* APC_Search1 ,
|
||||||
@ -2850,14 +2852,24 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(this==&AR_CStrInsert) return *this;
|
if(this==&AR_CStrInsert) return *this;
|
||||||
|
|
||||||
return Insert(
|
return Insert //>>>>>>>>>>>>>>>>>>>>>>
|
||||||
AL_InsertPos, AR_CStrInsert.data(), AR_CStrInsert.size());
|
(
|
||||||
|
AL_InsertPos ,
|
||||||
|
AR_CStrInsert.data() ,
|
||||||
|
AR_CStrInsert.size()
|
||||||
|
);
|
||||||
|
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
}/*
|
}/*
|
||||||
ZCStringBase& Insert(TypeLength AL_InsertPos, const ZCStringBase& AR_CStrInsert)*/
|
ZCStringBase& Insert(TypeLength AL_InsertPos, const ZCStringBase& AR_CStrInsert)*/
|
||||||
|
|
||||||
|
|
||||||
ZCStringBase& Insert_E(
|
ZCStringBase& Insert_E /*######################################################*/
|
||||||
TypeLength AL_InsertPos, TypeCharC* APC_Insert, TypeLength AL_InsertLen)
|
(
|
||||||
|
TypeLength AL_InsertPos ,
|
||||||
|
TypeCharC* APC_Insert ,
|
||||||
|
TypeLength AL_InsertLen
|
||||||
|
)
|
||||||
|
/*#############################################################################*/
|
||||||
{
|
{
|
||||||
if(AL_InsertLen<1) return *this;
|
if(AL_InsertLen<1) return *this;
|
||||||
|
|
||||||
@ -2866,22 +2878,33 @@ namespace ZNsMain
|
|||||||
|
|
||||||
return Insert_E(AL_InsertPos, APC_Insert, AL_InsertLen) ;
|
return Insert_E(AL_InsertPos, APC_Insert, AL_InsertLen) ;
|
||||||
}/*
|
}/*
|
||||||
ZCStringBase& Insert_E(
|
ZCStringBase& Insert_E
|
||||||
TypeLength AL_InsertPos, TypeCharC* APC_Insert, TypeLength AL_InsertLen)*/
|
(
|
||||||
|
TypeLength AL_InsertPos ,
|
||||||
|
TypeCharC* APC_Insert ,
|
||||||
|
TypeLength AL_InsertLen
|
||||||
|
)
|
||||||
|
/*#############################################################################*/
|
||||||
|
|
||||||
|
|
||||||
ZCStringBase& Insert_E(TypeLength AL_InsertPos, TypeCharC* APC_Insert)
|
ZCStringBase& Insert_E(TypeLength AL_InsertPos, TypeCharC* APC_Insert)
|
||||||
{
|
{
|
||||||
return Insert_E
|
return Insert_E /*>>>>>>>>*/
|
||||||
(
|
(
|
||||||
AL_InsertPos, APC_Insert, GetLength(APC_Insert)
|
AL_InsertPos, APC_Insert, GetLength(APC_Insert)
|
||||||
) ;
|
) ;
|
||||||
///////////////
|
/*<<<<<<<<<<<<<<<<<<<<<<<<*/
|
||||||
}/*
|
}/*
|
||||||
ZCStringBase& Insert_E(TypeLength AL_InsertPos, TypeCharC* APC_Insert)*/
|
ZCStringBase& Insert_E(TypeLength AL_InsertPos, TypeCharC* APC_Insert)*/
|
||||||
|
|
||||||
ZCStringBase& GetSubString(
|
|
||||||
TypeLength AL_Index, TypeLength AL_Count, ZCStringBase& ARR_CString)
|
ZCStringBase& GetSubString /*##################################################*/
|
||||||
|
(
|
||||||
|
TypeLength AL_Index ,
|
||||||
|
TypeLength AL_Count ,
|
||||||
|
ZCStringBase& ARR_CString
|
||||||
|
)
|
||||||
|
/*#############################################################################*/
|
||||||
{
|
{
|
||||||
if(AL_Index<0 || AL_Count<1) return ARR_CString;
|
if(AL_Index<0 || AL_Count<1) return ARR_CString;
|
||||||
|
|
||||||
@ -2902,18 +2925,25 @@ namespace ZNsMain
|
|||||||
|
|
||||||
ARR_CString.ReAllocAdd(AL_Count,true); ::memcpy ////////
|
ARR_CString.ReAllocAdd(AL_Count,true); ::memcpy ////////
|
||||||
(
|
(
|
||||||
ARR_CString.mpc_Data+ARR_CString.ml_UseLen,
|
ARR_CString.mpc_Data +
|
||||||
mpc_Data+AL_Index, AL_Count*sizeof(TypeChar)
|
ARR_CString.ml_UseLen ,
|
||||||
|
mpc_Data + AL_Index ,
|
||||||
|
AL_Count * sizeof(TypeChar)
|
||||||
);
|
);
|
||||||
//////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////
|
||||||
|
|
||||||
ARR_CString.
|
ARR_CString.mpc_Data
|
||||||
mpc_Data[ARR_CString.ml_UseLen+=AL_Count]=0;
|
[ARR_CString.ml_UseLen += AL_Count] =0 ;
|
||||||
|
|
||||||
return ARR_CString;
|
return ARR_CString ;
|
||||||
}/*
|
}/*
|
||||||
ZCStringBase& GetSubString(
|
ZCStringBase& GetSubString /*####################################################
|
||||||
TypeLength AL_Index, TypeLength AL_Count, ZCStringBase& ARR_CString)*/
|
(
|
||||||
|
TypeLength AL_Index ,
|
||||||
|
TypeLength AL_Count ,
|
||||||
|
ZCStringBase& ARR_CString
|
||||||
|
)
|
||||||
|
/*#############################################################################*/
|
||||||
|
|
||||||
|
|
||||||
static ZCStringBase& GetSubSearch /*##########################################*/
|
static ZCStringBase& GetSubSearch /*##########################################*/
|
||||||
@ -2944,7 +2974,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
ARRL_StartPos=-1; return ARR_CStringSave;
|
ARRL_StartPos=-1; return ARR_CStringSave;
|
||||||
}/*
|
}/*
|
||||||
///////////////////////////////////////////////*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
TypeLength VL_Pos1 = FindPos
|
TypeLength VL_Pos1 = FindPos
|
||||||
(
|
(
|
||||||
@ -3271,13 +3301,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
ARRL_StartPos=-1; return ARR_CString;
|
ARRL_StartPos=-1; return ARR_CString;
|
||||||
}/*
|
}/*
|
||||||
if(AB_IsExactTwo==true)*/
|
>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
ARRL_StartPos=AL_OriginLen;
|
ARRL_StartPos=AL_OriginLen;
|
||||||
ARR_CString.MakeWord(
|
ARR_CString.MakeWord(
|
||||||
APC_Origin+VL_Pos1, AL_OriginLen-VL_Pos1);
|
APC_Origin+VL_Pos1, AL_OriginLen-VL_Pos1);
|
||||||
|
|
||||||
return ARR_CString;
|
return ARR_CString; ///////
|
||||||
}/*
|
}/*
|
||||||
if(VL_Pos2<0)*/
|
if(VL_Pos2<0)*/
|
||||||
|
|
||||||
@ -3420,13 +3450,13 @@ namespace ZNsMain
|
|||||||
|
|
||||||
while(VL_Index<=VL_Loop)
|
while(VL_Index<=VL_Loop)
|
||||||
{
|
{
|
||||||
TypeLength j;
|
TypeLength j=0;
|
||||||
|
|
||||||
for(j=0; j<AL_SearchLen; ++j)
|
for(; j<AL_SearchLen; ++j)
|
||||||
{
|
{
|
||||||
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
||||||
}/*
|
}/*
|
||||||
///////////////////////////*/
|
>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
if(j!=AL_SearchLen) // 못찾은 경우
|
if(j!=AL_SearchLen) // 못찾은 경우
|
||||||
{
|
{
|
||||||
@ -3548,13 +3578,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
||||||
}/*
|
}/*
|
||||||
for(j=0; j<AL_SearchLen; ++j)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
if(j!=AL_SearchLen) // 못찾은 경우
|
if(j!=AL_SearchLen) /*AAAAA*/
|
||||||
{
|
{
|
||||||
++VL_Index; continue;
|
++VL_Index; continue; // 못찾은 경우
|
||||||
}/*
|
}/*
|
||||||
if(j!=AL_SearchLen)*/
|
AAAAAAAAAAAAAAAAAAAAAAAAAAA*/
|
||||||
|
|
||||||
if(VL_Index>VL_CopyStartPos)
|
if(VL_Index>VL_CopyStartPos)
|
||||||
{
|
{
|
||||||
@ -3668,13 +3698,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
||||||
}/*
|
}/*
|
||||||
///////////////////////////*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
if(j!=AL_SearchLen) // 못찾은 경우
|
if(j!=AL_SearchLen) /*AAAAA*/
|
||||||
{
|
{
|
||||||
++VL_Index; continue;
|
++VL_Index; continue; // 못찾은 경우
|
||||||
}/*
|
}/*
|
||||||
/////////////////*/
|
AAAAAAAAAAAAAAAAAAAAAAAAAAA*/
|
||||||
|
|
||||||
// 찾은 경우
|
// 찾은 경우
|
||||||
|
|
||||||
@ -3804,11 +3834,11 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
||||||
}/*
|
}/*
|
||||||
for(j=0; j<AL_SearchLen; ++j)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
if(j!=AL_SearchLen) // 못찾은 경우
|
if(j!=AL_SearchLen)
|
||||||
{
|
{
|
||||||
++VL_Index; continue;
|
++VL_Index; continue; // 못찾은 경우
|
||||||
}/*
|
}/*
|
||||||
if(j!=AL_SearchLen)*/
|
if(j!=AL_SearchLen)*/
|
||||||
|
|
||||||
@ -4083,11 +4113,11 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
if(APC_OriginChar[VL_Index+j]!=APC_SearchChar[j]) break;
|
||||||
}/*
|
}/*
|
||||||
for(j=0; j<AL_SearchLen; ++j)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
if(j!=AL_SearchLen) // 못찾은 경우
|
if(j!=AL_SearchLen)
|
||||||
{
|
{
|
||||||
++VL_Index; continue;
|
++VL_Index; continue; // 못찾은 경우
|
||||||
}/*
|
}/*
|
||||||
if(j!=AL_SearchLen)*/
|
if(j!=AL_SearchLen)*/
|
||||||
|
|
||||||
@ -4122,13 +4152,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
return ARR_SaveList;
|
return ARR_SaveList;
|
||||||
}/*
|
}/*
|
||||||
if(VL_CopyStartPos>=AL_OriginLen)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
if(VL_PrevListSize<ARR_SaveList.size() || AB_DoEndWhenNoMatch==false)
|
if(VL_PrevListSize<ARR_SaveList.size() || AB_DoEndWhenNoMatch==false)
|
||||||
{
|
{
|
||||||
/* VL_PrevListSize==ARR_SaveList.size() 인 경우는, 분리 문자열을
|
/* VL_PrevListSize==ARR_SaveList.size() 인 경우는, 분리
|
||||||
찾을 수 없는 경우다. 이때는 아무짓도 하지 말자. */
|
문자열을 찾을 수 없는 경우다. 이때는 아무짓도 하지 말자.
|
||||||
|
*/
|
||||||
VO_CStringTemp.Invalidate();
|
VO_CStringTemp.Invalidate();
|
||||||
|
|
||||||
ARR_SaveList.push_back ////////
|
ARR_SaveList.push_back ////////
|
||||||
@ -4293,7 +4323,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(VC_TempChar==APC_SearchChar[j]) break;
|
if(VC_TempChar==APC_SearchChar[j]) break;
|
||||||
}/*
|
}/*
|
||||||
for(j=0; j<AL_SearchLen; ++j)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
if(j<AL_SearchLen)
|
if(j<AL_SearchLen)
|
||||||
{
|
{
|
||||||
@ -4302,7 +4332,7 @@ namespace ZNsMain
|
|||||||
((ZCString&)ARR_SaveList).append
|
((ZCString&)ARR_SaveList).append
|
||||||
( VP_CopyStartChar, i-VL_CopyStartPos ) ;
|
( VP_CopyStartChar, i-VL_CopyStartPos ) ;
|
||||||
}/*
|
}/*
|
||||||
if(i>VL_CopyStartPos)*/
|
///////////////////*/
|
||||||
|
|
||||||
VL_CopyStartPos =i+1;
|
VL_CopyStartPos =i+1;
|
||||||
VP_CopyStartChar=VP_CopyCloseChar ;
|
VP_CopyStartChar=VP_CopyCloseChar ;
|
||||||
@ -4421,7 +4451,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(*VPC_CloseChar++ != *VPC_SearchChar++) break; ++VL_ClosePos;
|
if(*VPC_CloseChar++ != *VPC_SearchChar++) break; ++VL_ClosePos;
|
||||||
}/*
|
}/*
|
||||||
for(k=0; k<AL_SearchMinLen; ++k)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
// AL_SearchMinLen 개의 문자열이 일치한다면 나머지 문자열을 비교한다.
|
// AL_SearchMinLen 개의 문자열이 일치한다면 나머지 문자열을 비교한다.
|
||||||
|
|
||||||
@ -4429,9 +4459,12 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
for(k=AL_SearchMinLen; k<VL_SearchLen; ++k)
|
for(k=AL_SearchMinLen; k<VL_SearchLen; ++k)
|
||||||
{
|
{
|
||||||
if(*VPC_CloseChar++ != *VPC_SearchChar++) break; ++VL_ClosePos;
|
if(*VPC_CloseChar++ != *VPC_SearchChar++)
|
||||||
|
{ break; }
|
||||||
|
|
||||||
|
++VL_ClosePos;
|
||||||
}/*
|
}/*
|
||||||
for(k=AL_SearchMinLen; k<VL_SearchLen; ++k)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
}/*
|
}/*
|
||||||
if(k>=AL_SearchMinLen)*/
|
if(k>=AL_SearchMinLen)*/
|
||||||
|
|
||||||
@ -4439,7 +4472,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
break; // 이때는 찾는 문자열이 있는 것이다.
|
break; // 이때는 찾는 문자열이 있는 것이다.
|
||||||
}/*
|
}/*
|
||||||
if(k>=VL_SearchLen)*/
|
>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
AR_FindList.MoveNextIter(VI_Iter_OR_List);
|
AR_FindList.MoveNextIter(VI_Iter_OR_List);
|
||||||
}/*
|
}/*
|
||||||
@ -4541,22 +4574,22 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(CB_IsTrue) return ARR_SaveList;
|
if(CB_IsTrue) return ARR_SaveList;
|
||||||
|
|
||||||
TypeChar* VPC_StartChar=const_cast<TypeChar*>(APC_OriginChar);
|
TypeChar* VPC_StartChar=const_cast<TypeChar*>(APC_OriginChar);
|
||||||
TypeChar* VPC_StartCopy=VPC_StartChar;
|
TypeChar* VPC_StartCopy=VPC_StartChar;
|
||||||
TypeChar* VPC_CloseChar=VPC_StartChar;
|
TypeChar* VPC_CloseChar=VPC_StartChar;
|
||||||
TypeChar* VPC_SearchChar;
|
TypeChar* VPC_SearchChar;
|
||||||
|
|
||||||
ZCStringBase VO_CStringTemp;
|
ZCStringBase VO_CStringTemp;
|
||||||
IterEasyID VO_Iter_OR_List(AR_FindList.GetHeadIterEasyID()) ;
|
IterEasyID VO_Iter_OR_List(AR_FindList.GetHeadIterEasyID()) ;
|
||||||
|
|
||||||
TypeLength VL_StartPos=0; // VPC_StartChar 의 위치값
|
TypeLength VL_StartPos=0; // VPC_StartChar 의 위치값
|
||||||
TypeLength VL_CopyPos =0; // VPC_StartCopy 의 위치값
|
TypeLength VL_CopyPos =0; // VPC_StartCopy 의 위치값
|
||||||
TypeLength VL_ClosePos=0; // VPC_CloseChar 의 위치값
|
TypeLength VL_ClosePos=0; // VPC_CloseChar 의 위치값
|
||||||
|
|
||||||
TypeLength VL_SearchLen ; // AR_FindList 의 각 원소의 문자열 크기
|
TypeLength VL_SearchLen ; // AR_FindList 의 각 원소의 문자열 크기
|
||||||
TypeLength VL_LoopSize=AR_FindList.size();
|
TypeLength VL_LoopSize = AR_FindList.size();
|
||||||
|
|
||||||
TypeLength j;
|
TypeLength j=0;
|
||||||
|
|
||||||
while(VL_StartPos<AL_OriginLen)
|
while(VL_StartPos<AL_OriginLen)
|
||||||
{
|
{
|
||||||
@ -4564,19 +4597,22 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
TypeLength k=0;
|
TypeLength k=0;
|
||||||
|
|
||||||
VL_SearchLen =AR_FindList.ItD(VO_Iter_OR_List).size();
|
VL_SearchLen =
|
||||||
VPC_SearchChar=const_cast<TypeChar*>
|
AR_FindList.ItD(VO_Iter_OR_List).size() ;
|
||||||
(AR_FindList.ItD(VO_Iter_OR_List).data()) ;
|
VPC_SearchChar = const_cast<TypeChar*>
|
||||||
VPC_CloseChar =VPC_StartChar;
|
(AR_FindList.ItD(VO_Iter_OR_List).data());
|
||||||
VL_ClosePos =VL_StartPos ;
|
|
||||||
|
|
||||||
if(VL_SearchLen<1 || VL_SearchLen<AL_SearchMinLen) continue;
|
VPC_CloseChar = VPC_StartChar;
|
||||||
|
VL_ClosePos = VL_StartPos ;
|
||||||
|
|
||||||
|
if(VL_SearchLen<1 || VL_SearchLen<AL_SearchMinLen)
|
||||||
|
{ continue; }
|
||||||
|
|
||||||
for(k=0; k<AL_SearchMinLen; ++k)
|
for(k=0; k<AL_SearchMinLen; ++k)
|
||||||
{
|
{
|
||||||
if(*VPC_CloseChar++ != *VPC_SearchChar++) break; ++VL_ClosePos;
|
if(*VPC_CloseChar++ != *VPC_SearchChar++) break; ++VL_ClosePos;
|
||||||
}/*
|
}/*
|
||||||
for(k=0; k<AL_SearchMinLen; ++k)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
// AL_SearchMinLen 개의 문자열이 일치한다면 나머지 문자열을 비교한다.
|
// AL_SearchMinLen 개의 문자열이 일치한다면 나머지 문자열을 비교한다.
|
||||||
|
|
||||||
@ -4586,13 +4622,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(*VPC_CloseChar++ != *VPC_SearchChar++) break; ++VL_ClosePos;
|
if(*VPC_CloseChar++ != *VPC_SearchChar++) break; ++VL_ClosePos;
|
||||||
}/*
|
}/*
|
||||||
for(k=AL_SearchMinLen; k<VL_SearchLen; ++k)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
}/*
|
}/*
|
||||||
if(k>=AL_SearchMinLen)*/
|
if(k>=AL_SearchMinLen)*/
|
||||||
|
|
||||||
if(k>=VL_SearchLen) // 이때는 찾는 문자열이 있는 것이다.
|
if(k>=VL_SearchLen) // 이때는 찾는 문자열이 있는 것이다.
|
||||||
break;
|
{break;}
|
||||||
//endif
|
/*@@@@@@@@@@@@@@@*/
|
||||||
|
|
||||||
AR_FindList.MoveNextIter(VO_Iter_OR_List);
|
AR_FindList.MoveNextIter(VO_Iter_OR_List);
|
||||||
}/*
|
}/*
|
||||||
@ -4708,12 +4744,12 @@ namespace ZNsMain
|
|||||||
)
|
)
|
||||||
////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
VL_Pos2 = FindPos /////////////////////
|
VL_Pos2 = FindPos //>>>>>>>>>>>>>>>>>>>
|
||||||
(
|
(
|
||||||
APC_OriginChar, APC_Search2Char,
|
APC_OriginChar, APC_Search2Char,
|
||||||
AL_OriginLen , AL_Search2Len , VL_Pos1+AL_Search1Len
|
AL_OriginLen , AL_Search2Len , VL_Pos1+AL_Search1Len
|
||||||
);
|
);
|
||||||
////////////////////////////////////////
|
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||||
|
|
||||||
if(VL_Pos2<0) { return ARR_SaveList; }
|
if(VL_Pos2<0) { return ARR_SaveList; }
|
||||||
|
|
||||||
@ -4860,9 +4896,12 @@ namespace ZNsMain
|
|||||||
)
|
)
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
{
|
{
|
||||||
VL_Pos2=FindPos(
|
VL_Pos2 = FindPos ///////////////////////////////
|
||||||
APC_OriginChar, APC_Search2Char,
|
(
|
||||||
AL_OriginLen , AL_Search2Len , VL_Pos1+AL_Search1Len );
|
APC_OriginChar, APC_Search2Char,
|
||||||
|
AL_OriginLen , AL_Search2Len , VL_Pos1+AL_Search1Len
|
||||||
|
);
|
||||||
|
/////////////////////////////////////////////////
|
||||||
|
|
||||||
if(VL_Pos2<0) return ARR_SaveList;
|
if(VL_Pos2<0) return ARR_SaveList;
|
||||||
|
|
||||||
@ -4977,7 +5016,7 @@ namespace ZNsMain
|
|||||||
ARR_SaveList.ItD(VI_IterEasy).Invalidate();
|
ARR_SaveList.ItD(VI_IterEasy).Invalidate();
|
||||||
ARR_SaveList.MoveNextIter(VI_IterEasy);
|
ARR_SaveList.MoveNextIter(VI_IterEasy);
|
||||||
}/*
|
}/*
|
||||||
for(TypeLength i=0; i<VL_MaxLoop; ++i)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
return ARR_SaveList;
|
return ARR_SaveList;
|
||||||
}/*
|
}/*
|
||||||
@ -5004,14 +5043,15 @@ namespace ZNsMain
|
|||||||
|
|
||||||
do //////
|
do //////
|
||||||
{
|
{
|
||||||
const bool CB_IsOK=
|
const bool CB_IsOK = ////////////////////
|
||||||
(VC_TempChar= mpc_Data[VL_Index])
|
(
|
||||||
=='\"' ||
|
(VC_TempChar= mpc_Data[VL_Index])
|
||||||
VC_TempChar=='\'' ||
|
=='\"' ||
|
||||||
VC_TempChar=='\\' ||
|
VC_TempChar=='\'' ||
|
||||||
/*//////////*/ VC_TempChar=='\0' ;
|
VC_TempChar=='\\' ||
|
||||||
|
VC_TempChar=='\0'
|
||||||
if(CB_IsOK) ++VL_AddedCnt;
|
);
|
||||||
|
if(CB_IsOK) ++VL_AddedCnt; //////////////
|
||||||
}
|
}
|
||||||
while(++VL_Index<VL_PrevSize);
|
while(++VL_Index<VL_PrevSize);
|
||||||
|
|
||||||
@ -5177,7 +5217,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
APC_Data[j++]=APC_Data[i];
|
APC_Data[j++]=APC_Data[i];
|
||||||
}/*
|
}/*
|
||||||
if(i==VL_MaxLoop)*/
|
>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
APC_Data[j]=0; return APC_Data;
|
APC_Data[j]=0; return APC_Data;
|
||||||
}/*
|
}/*
|
||||||
@ -5232,7 +5272,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
APC_Data[j++]=APC_Data[i];
|
APC_Data[j++]=APC_Data[i];
|
||||||
}/*
|
}/*
|
||||||
if(i==VL_MaxLoop)*/
|
>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
APC_Data[j]=0; return APC_Data;
|
APC_Data[j]=0; return APC_Data;
|
||||||
}/*
|
}/*
|
||||||
@ -5277,7 +5317,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
mpc_Data[j++]=mpc_Data[i];
|
mpc_Data[j++]=mpc_Data[i];
|
||||||
}/*
|
}/*
|
||||||
if(i==VL_MaxLoop)*/
|
>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
mpc_Data[j]=0; return *this;
|
mpc_Data[j]=0; return *this;
|
||||||
}/*
|
}/*
|
||||||
@ -5332,7 +5372,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
mpc_Data[j++]=mpc_Data[i];
|
mpc_Data[j++]=mpc_Data[i];
|
||||||
}/*
|
}/*
|
||||||
if(i==VL_MaxLoop)*/
|
>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
mpc_Data[j]=0; return *this;
|
mpc_Data[j]=0; return *this;
|
||||||
}/*
|
}/*
|
||||||
@ -5348,10 +5388,10 @@ namespace ZNsMain
|
|||||||
////////////////////////////////////////////
|
////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
TypeLength VL_PrevSize=ml_UseLen ;
|
TypeLength VL_PrevSize= ml_UseLen ;
|
||||||
TypeLength VL_Count =(VL_PrevSize/AL_ChunkSize);
|
TypeLength VL_Count = (VL_PrevSize/AL_ChunkSize) ;
|
||||||
TypeLength VL_Mod =(VL_PrevSize%AL_ChunkSize);
|
TypeLength VL_Mod = (VL_PrevSize%AL_ChunkSize) ;
|
||||||
TypeLength VL_NewSize=VL_PrevSize+VL_Count*AL_AddLen;
|
TypeLength VL_NewSize = VL_PrevSize+VL_Count*AL_AddLen;
|
||||||
|
|
||||||
ReAllocKeep(VL_NewSize);
|
ReAllocKeep(VL_NewSize);
|
||||||
|
|
||||||
@ -5362,7 +5402,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
mpc_Data[VL_Index--] = mpc_Data[VL_PrevSize-1-p];
|
mpc_Data[VL_Index--] = mpc_Data[VL_PrevSize-1-p];
|
||||||
}/*
|
}/*
|
||||||
for(int p=0; p<VL_Mod; ++p)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
TypeLength i=0, j=0, t=0;
|
TypeLength i=0, j=0, t=0;
|
||||||
|
|
||||||
@ -5372,9 +5412,9 @@ namespace ZNsMain
|
|||||||
|
|
||||||
for(j=AL_AddLen-1; j>=0; --j)
|
for(j=AL_AddLen-1; j>=0; --j)
|
||||||
{
|
{
|
||||||
mpc_Data[VL_Index--]=APC_AddChar[j];
|
mpc_Data[VL_Index--] = APC_AddChar[j];
|
||||||
}/*
|
}/*
|
||||||
for(j=AL_AddLen-1; j>=0; --j)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
for(j=AL_ChunkSize-1; j>=0; --j)
|
for(j=AL_ChunkSize-1; j>=0; --j)
|
||||||
{
|
{
|
||||||
@ -5436,19 +5476,25 @@ namespace ZNsMain
|
|||||||
// 파일 기술자를 다시 처음으로 옮긴다.
|
// 파일 기술자를 다시 처음으로 옮긴다.
|
||||||
::lseek(AH_FileDesc, 0/*Offset*/, SEEK_SET);
|
::lseek(AH_FileDesc, 0/*Offset*/, SEEK_SET);
|
||||||
|
|
||||||
TypeLength VL_PrevSize=(AB_DoAppend ? ml_UseLen : 0);
|
TypeLength VL_PrevSize =
|
||||||
|
(AB_DoAppend ? ml_UseLen : 0);
|
||||||
|
|
||||||
ReAlloc(VL_PrevSize+VL_Offset+AL_AddAllocSize, AB_DoAppend);
|
ReAlloc //>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
(
|
||||||
|
VL_PrevSize+VL_Offset+AL_AddAllocSize,
|
||||||
|
AB_DoAppend
|
||||||
|
);
|
||||||
|
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||||
|
|
||||||
// 윈도우에서 read() 함수는 \r\n 을 한 문자로 읽어들이므로 주의
|
// 윈도우에서 read() 함수는 \r\n 을 한 문자로 읽어들이므로 주의
|
||||||
|
|
||||||
TypeLength VL_ReadSize=0;
|
TypeLength VL_ReadSize=0;
|
||||||
|
|
||||||
if((VL_ReadSize=read(AH_FileDesc, mpc_Data+VL_PrevSize, VL_Offset))<0)
|
if((VL_ReadSize = read(AH_FileDesc, mpc_Data+VL_PrevSize, VL_Offset))<0)
|
||||||
{
|
{
|
||||||
mpc_Data[ml_UseLen=VL_PrevSize]=0; ::close(AH_FileDesc); return false;
|
mpc_Data[ml_UseLen=VL_PrevSize]=0; ::close(AH_FileDesc); return false;
|
||||||
}/*
|
}/*
|
||||||
////////////////////////////////////////////////////////////////////*/
|
//////////////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
if(VL_ReadSize>0)
|
if(VL_ReadSize>0)
|
||||||
mpc_Data[ml_UseLen=VL_PrevSize+VL_ReadSize]=0;
|
mpc_Data[ml_UseLen=VL_PrevSize+VL_ReadSize]=0;
|
||||||
@ -5459,15 +5505,17 @@ namespace ZNsMain
|
|||||||
|
|
||||||
TypeLength VL_PrevSize=AB_DoAppend ? ml_UseLen : 0 ;
|
TypeLength VL_PrevSize=AB_DoAppend ? ml_UseLen : 0 ;
|
||||||
|
|
||||||
HANDLE VH_File=::CreateFile( ////////////////////////////////////////////////////////////
|
HANDLE VH_File = ::CreateFile /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
APC_FileName ,
|
(
|
||||||
GENERIC_READ ,
|
APC_FileName ,
|
||||||
FILE_SHARE_READ , // 공유모드: 이미 열려 있는 파일을 열 수 있게 한다.
|
GENERIC_READ ,
|
||||||
NULL ,
|
FILE_SHARE_READ , // 공유모드: 이미 열려 있는 파일을 열 수 있게 한다.
|
||||||
OPEN_EXISTING ,
|
NULL ,
|
||||||
FILE_ATTRIBUTE_NORMAL, // 반드시 단독으로 사용되는 플래그
|
OPEN_EXISTING ,
|
||||||
NULL
|
FILE_ATTRIBUTE_NORMAL, // 반드시 단독으로 사용되는 플래그
|
||||||
/*/////////*/ ); /////////////////////////////////////////////////////////////////////////
|
NULL
|
||||||
|
);
|
||||||
|
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||||
|
|
||||||
if(INVALID_HANDLE_VALUE==VH_File) return false;
|
if(INVALID_HANDLE_VALUE==VH_File) return false;
|
||||||
|
|
||||||
@ -5486,7 +5534,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
Invalidate(); CloseHandle(VH_File); return false;
|
Invalidate(); CloseHandle(VH_File); return false;
|
||||||
}/*
|
}/*
|
||||||
if(::ReadFile(VH_File, mpc_Data+VL_PrevSize, dwRead, &dwRead2, NULL)==FALSE)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
::CloseHandle(VH_File);
|
::CloseHandle(VH_File);
|
||||||
|
|
||||||
@ -5661,10 +5709,21 @@ namespace ZNsMain
|
|||||||
if(CB_IsFalse){ return -1; }
|
if(CB_IsFalse){ return -1; }
|
||||||
|
|
||||||
|
|
||||||
VO_CStringBuff.mpc_Data[VO_CStringBuff.ml_UseLen+=VL_ReadCnt]=0; VL_InnerOffset=0;
|
VO_CStringBuff.mpc_Data //>>>>>>>>>>>>>>>>>>>>
|
||||||
|
[
|
||||||
|
VO_CStringBuff.ml_UseLen += VL_ReadCnt
|
||||||
|
] =0 ;
|
||||||
|
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||||
|
|
||||||
while((VL_FindedPos =VO_CStringBuff.
|
VL_InnerOffset=0;
|
||||||
FindPos(APC_Search, AL_SearchLen, VL_InnerOffset))>=0)
|
|
||||||
|
while /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
|
||||||
|
(
|
||||||
|
( VL_FindedPos = VO_CStringBuff.FindPos
|
||||||
|
(APC_Search, AL_SearchLen, VL_InnerOffset)
|
||||||
|
) >=0
|
||||||
|
)
|
||||||
|
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
|
||||||
{
|
{
|
||||||
if(++VL_SearchCnt>=AL_WantSearchCnt)
|
if(++VL_SearchCnt>=AL_WantSearchCnt)
|
||||||
{
|
{
|
||||||
@ -5673,9 +5732,8 @@ namespace ZNsMain
|
|||||||
//////////////////////////////////*/
|
//////////////////////////////////*/
|
||||||
|
|
||||||
VL_InnerOffset = VL_FindedPos + AL_SearchLen ;
|
VL_InnerOffset = VL_FindedPos + AL_SearchLen ;
|
||||||
}/*
|
}
|
||||||
while((VL_FindedPos =VO_CStringBuff.
|
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
|
||||||
FindPos(APC_Search, AL_SearchLen, VL_InnerOffset))>=0)*/
|
|
||||||
|
|
||||||
if(VO_CStringBuff.ml_UseLen>=AL_SearchLen)
|
if(VO_CStringBuff.ml_UseLen>=AL_SearchLen)
|
||||||
{
|
{
|
||||||
@ -5797,15 +5855,15 @@ namespace ZNsMain
|
|||||||
{ return -1; }
|
{ return -1; }
|
||||||
////////////////////////////////////////////////
|
////////////////////////////////////////////////
|
||||||
|
|
||||||
const bool VB_IsFalse =
|
const bool VB_IsFalse = /*@@@@@@@@@@@@@@@@@@@@*/
|
||||||
(
|
(
|
||||||
( VL_ReadCnt=::read
|
( VL_ReadCnt=::read
|
||||||
(
|
(
|
||||||
AH_FileDesc, VO_CStringBuff.mpc_Data, VL_Offset-VL_Offset2
|
AH_FileDesc, VO_CStringBuff.mpc_Data, VL_Offset-VL_Offset2
|
||||||
)
|
)
|
||||||
)<1 || VL_Offset-VL_Offset2!=VL_ReadCnt
|
)<1 || VL_Offset-VL_Offset2 != VL_ReadCnt
|
||||||
);
|
);
|
||||||
/*###################*/ if(VB_IsFalse) return -1;
|
if(VB_IsFalse) return -1; /*@@@@@@@@@@@@@@@@@@*/
|
||||||
|
|
||||||
VO_CStringBuff.mpc_Data
|
VO_CStringBuff.mpc_Data
|
||||||
[VO_CStringBuff.ml_UseLen=VL_ReadCnt]=0;
|
[VO_CStringBuff.ml_UseLen=VL_ReadCnt]=0;
|
||||||
@ -5899,9 +5957,7 @@ namespace ZNsMain
|
|||||||
lpOverlapped
|
lpOverlapped
|
||||||
)==FALSE || VL_Offset-VL_Offset2 != VL_ReadCnt
|
)==FALSE || VL_Offset-VL_Offset2 != VL_ReadCnt
|
||||||
);
|
);
|
||||||
//////////////////////////////////////////////////////
|
if(CB_IsFalse) return -1; ////////////////////////////
|
||||||
|
|
||||||
if(CB_IsFalse) return -1;
|
|
||||||
|
|
||||||
|
|
||||||
VO_CStringBuff.mpc_Data
|
VO_CStringBuff.mpc_Data
|
||||||
@ -5912,7 +5968,7 @@ namespace ZNsMain
|
|||||||
VL_InnerOffset=VO_CStringBuff.ml_UseLen-1;
|
VL_InnerOffset=VO_CStringBuff.ml_UseLen-1;
|
||||||
|
|
||||||
while ( ( VL_FindedPos = VO_CStringBuff.FindPosFromEnd
|
while ( ( VL_FindedPos = VO_CStringBuff.FindPosFromEnd
|
||||||
( APC_Search, AL_SearchLen, VL_InnerOffset )
|
( APC_Search, AL_SearchLen, VL_InnerOffset )
|
||||||
) >= 0
|
) >= 0
|
||||||
)
|
)
|
||||||
////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////
|
||||||
@ -6070,7 +6126,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
VL_SearchIndex=0;
|
VL_SearchIndex=0;
|
||||||
}/*
|
}/*
|
||||||
if(++VL_SearchIndex>=AL_SearchLen)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
}/*
|
}/*
|
||||||
for(i=0; i<VL_ReadSize; ++i)*/
|
for(i=0; i<VL_ReadSize; ++i)*/
|
||||||
|
|
||||||
@ -6097,13 +6153,13 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(AL_SearchLen<1 || AL_SearchCnt<1) return 0;
|
if(AL_SearchLen<1 || AL_SearchCnt<1) return 0;
|
||||||
|
|
||||||
TypeLength VL_ReadSize ;
|
TypeLength VL_ReadSize ;
|
||||||
TypeLength VL_AllReadSize=0;
|
TypeLength VL_AllReadSize =0;
|
||||||
TypeLength VL_SearchIndex=0;
|
TypeLength VL_SearchIndex =0;
|
||||||
TypeLength i ;
|
TypeLength i =0;
|
||||||
|
|
||||||
TypeLength VL_NowSearchCnt=0;
|
TypeLength VL_NowSearchCnt=0;
|
||||||
TypeChar VC_TempChar;
|
TypeChar VC_TempChar =0;
|
||||||
TypeChar VCA_FileBuff[BUFSIZ+1];
|
TypeChar VCA_FileBuff[BUFSIZ+1];
|
||||||
|
|
||||||
while((VL_ReadSize = ::fread(
|
while((VL_ReadSize = ::fread(
|
||||||
@ -6125,7 +6181,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
VL_SearchIndex=0;
|
VL_SearchIndex=0;
|
||||||
}/*
|
}/*
|
||||||
if(++VL_SearchIndex>=AL_SearchLen)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
}/*
|
}/*
|
||||||
for(i=0; i<VL_ReadSize; ++i)*/
|
for(i=0; i<VL_ReadSize; ++i)*/
|
||||||
|
|
||||||
@ -6179,7 +6235,7 @@ namespace ZNsMain
|
|||||||
AH_FileDesc, APC_Search, AL_SearchLen, AL_SearchCnt);
|
AH_FileDesc, APC_Search, AL_SearchLen, AL_SearchCnt);
|
||||||
MyCloseFleHandle(AH_FileDesc);
|
MyCloseFleHandle(AH_FileDesc);
|
||||||
|
|
||||||
return VL_ReadSize; //////////
|
return VL_ReadSize; //////////////////
|
||||||
|
|
||||||
#undef MyCloseFleHandle
|
#undef MyCloseFleHandle
|
||||||
}/*
|
}/*
|
||||||
@ -6281,7 +6337,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
VL_SearchIndex=0;
|
VL_SearchIndex=0;
|
||||||
}/*
|
}/*
|
||||||
if(++VL_SearchIndex>=AL_SearchLen)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
}/*
|
}/*
|
||||||
for(i=0;i<VL_ReadSize;++i)*/
|
for(i=0;i<VL_ReadSize;++i)*/
|
||||||
|
|
||||||
@ -6527,8 +6583,7 @@ namespace ZNsMain
|
|||||||
return FindPos //////////////
|
return FindPos //////////////
|
||||||
(
|
(
|
||||||
mpc_Data , APC_Search,
|
mpc_Data , APC_Search,
|
||||||
ml_UseLen, ZNsMain::ZftLengthType
|
ml_UseLen, GetLength(APC_Search)
|
||||||
<TypeLength, TypeChar>(APC_Search)
|
|
||||||
);
|
);
|
||||||
/////////////////////////////
|
/////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
@ -6642,13 +6697,15 @@ namespace ZNsMain
|
|||||||
TypeLength FindPosFromEnd(TypeCharC* APC_Search) const*/
|
TypeLength FindPosFromEnd(TypeCharC* APC_Search) const*/
|
||||||
|
|
||||||
|
|
||||||
template<typename TList> static TypeLength FindPosType( /*######*/
|
template<typename TList> static TypeLength FindPosType
|
||||||
TypeCharC* APC_Origin ,
|
(
|
||||||
TList& AR_SearchList,
|
TypeCharC* APC_Origin ,
|
||||||
TypeLength AL_OriginLen ,
|
TList& AR_SearchList ,
|
||||||
TypeLength& ARRL_MatchLen,
|
TypeLength AL_OriginLen ,
|
||||||
TypeLength AL_StartPos=0
|
TypeLength& ARRL_MatchLen ,
|
||||||
/*#########*/ ) /*##############################################*/
|
TypeLength AL_StartPos=0
|
||||||
|
)
|
||||||
|
/*##################################################*/
|
||||||
{
|
{
|
||||||
/*////////////////////////////////////////////////////////////////////
|
/*////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
@ -6690,7 +6747,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
AR_SearchList.MoveNextIter(VI_IterEasyID);
|
AR_SearchList.MoveNextIter(VI_IterEasyID);
|
||||||
}/*
|
}/*
|
||||||
for(TypeLength j=0; j<VL_SearchCnt; ++j)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
}/*
|
}/*
|
||||||
for(TypeLength i=AL_StartPos; i<AL_OriginLen; ++i)*/
|
for(TypeLength i=AL_StartPos; i<AL_OriginLen; ++i)*/
|
||||||
|
|
||||||
@ -6780,7 +6837,7 @@ namespace ZNsMain
|
|||||||
}
|
}
|
||||||
else {VL_SearchOffset=0;}
|
else {VL_SearchOffset=0;}
|
||||||
}/*
|
}/*
|
||||||
for(TypeLength i=0; i<AL_OriginLen; ++i)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
return VL_SearchCount;
|
return VL_SearchCount;
|
||||||
}/*
|
}/*
|
||||||
@ -6872,7 +6929,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}/*
|
}/*
|
||||||
else if(VC_CharTemp<'0' || VC_CharTemp>'9')*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
}/*
|
}/*
|
||||||
for(TypeLength i=0; i<AL_CheckLen; ++i)*/
|
for(TypeLength i=0; i<AL_CheckLen; ++i)*/
|
||||||
|
|
||||||
@ -7059,7 +7116,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
*VPC_CharDest-- = *VPC_CharOrgin-- ;
|
*VPC_CharDest-- = *VPC_CharOrgin-- ;
|
||||||
}/*
|
}/*
|
||||||
for(; i<=ml_UseLen; ++i)*/
|
>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
|
|
||||||
/* 오른쪽으로 문자열을 이동시키게 됨에 따라, 앞에서
|
/* 오른쪽으로 문자열을 이동시키게 됨에 따라, 앞에서
|
||||||
@ -7071,7 +7128,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
*VPC_CharOrgin++ = AC_FillChar ;
|
*VPC_CharOrgin++ = AC_FillChar ;
|
||||||
}/*
|
}/*
|
||||||
for(i=1; i<=AL_RightMoveCnt; ++i)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
mpc_Data[ml_UseLen+=AL_RightMoveCnt]=0; return *this;
|
mpc_Data[ml_UseLen+=AL_RightMoveCnt]=0; return *this;
|
||||||
}/*
|
}/*
|
||||||
@ -7179,7 +7236,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if( *VPC_StartChar++ =='.' ) break;
|
if( *VPC_StartChar++ =='.' ) break;
|
||||||
}/*
|
}/*
|
||||||
////////////////////////////////////////////////////////////*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
// 마침표가 없거나, 맨 앞에 오거나 맨 끝에 오는 경우도 유효하지 않다.
|
// 마침표가 없거나, 맨 앞에 오거나 맨 끝에 오는 경우도 유효하지 않다.
|
||||||
|
|
||||||
@ -7227,7 +7284,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(VL_PeriodPos<1 || VL_PeriodPos>=AI_LengthDec-1)
|
if(VL_PeriodPos<1 || VL_PeriodPos>=AI_LengthDec-1)
|
||||||
{ return *this; }
|
{ return *this; }
|
||||||
//////////////////////////////////////////////////
|
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
|
||||||
|
|
||||||
VPC_StartChar = mpc_Data+(VL_CurrentPos=AI_LengthDec-1) ;
|
VPC_StartChar = mpc_Data+(VL_CurrentPos=AI_LengthDec-1) ;
|
||||||
@ -7253,7 +7310,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
*VPC_StartChar=0; --ml_UseLen;
|
*VPC_StartChar=0; --ml_UseLen;
|
||||||
}/*
|
}/*
|
||||||
if(VL_PeriodPos==VL_CurrentPos)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}/*
|
}/*
|
||||||
@ -7329,7 +7386,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
++VPC_Start;
|
++VPC_Start;
|
||||||
}/*
|
}/*
|
||||||
while(VC_Temp=*VPC_Start)*/
|
>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
return APC_Data;
|
return APC_Data;
|
||||||
}/*
|
}/*
|
||||||
@ -7405,7 +7462,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
return ARR_CStrDir(APC_FullPath, AL_FullPathLen-1);
|
return ARR_CStrDir(APC_FullPath, AL_FullPathLen-1);
|
||||||
}/*
|
}/*
|
||||||
if(APC_FullPath[AL_FullPathLen-1]==ZNsMain::ZNsConst::CC_DirDelimiter)*/
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
|
||||||
|
|
||||||
|
|
||||||
using ZNsMain::ZNsConst::CPC_DirDelimiter ;
|
using ZNsMain::ZNsConst::CPC_DirDelimiter ;
|
||||||
|
Reference in New Issue
Block a user