commit 2025-08-19 21:19 edit a bit ZCppMain/ZtCStringEx.H
This commit is contained in:
@ -3503,7 +3503,7 @@ namespace ZNsMain
|
|||||||
)
|
)
|
||||||
/*################################################################*/
|
/*################################################################*/
|
||||||
{
|
{
|
||||||
typedef typename TSplitList::TypeData CString; TSplitList VO_CStringList;
|
typedef typename TSplitList::TypeData ZCString; TSplitList VO_CStringList;
|
||||||
|
|
||||||
/*/////////////////////////////////////////////////////////////////////////////////////
|
/*/////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
@ -3546,12 +3546,12 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(VL_Index>VL_CopyStartPos)
|
if(VL_Index>VL_CopyStartPos)
|
||||||
{
|
{
|
||||||
((CString&)VO_CStringList).append
|
((ZCString&)VO_CStringList).append
|
||||||
(
|
(
|
||||||
APC_OriginChar+VL_CopyStartPos,
|
APC_OriginChar+VL_CopyStartPos,
|
||||||
VL_Index -VL_CopyStartPos
|
VL_Index -VL_CopyStartPos
|
||||||
) ;
|
) ;
|
||||||
/////////////////////////////////
|
//////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
if(VL_Index>VL_CopyStartPos)*/
|
if(VL_Index>VL_CopyStartPos)*/
|
||||||
|
|
||||||
@ -3634,7 +3634,7 @@ namespace ZNsMain
|
|||||||
/* bool AB_DoExecNull 이 true 이면 구분 문자로 잘린 문자열 길이
|
/* bool AB_DoExecNull 이 true 이면 구분 문자로 잘린 문자열 길이
|
||||||
가 0 인 경우에도 AO_TFunctor 를 수행한다. */
|
가 0 인 경우에도 AO_TFunctor 를 수행한다. */
|
||||||
|
|
||||||
if(AL_OriginLen<1) return; int VL_SearchCount=0; /*####################*/
|
if(AL_OriginLen<1) return; int VL_SearchCount=0;
|
||||||
|
|
||||||
if(AL_SearchLen<1)
|
if(AL_SearchLen<1)
|
||||||
{
|
{
|
||||||
@ -3656,13 +3656,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) // 못찾은 경우
|
||||||
{
|
{
|
||||||
++VL_Index; continue;
|
++VL_Index; continue;
|
||||||
}/*
|
}/*
|
||||||
if(j!=AL_SearchLen)*/
|
/////////////////*/
|
||||||
|
|
||||||
// 찾은 경우
|
// 찾은 경우
|
||||||
|
|
||||||
@ -3775,7 +3775,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////*/
|
/////////////////////////////////////////////////////////////////////*/
|
||||||
|
|
||||||
typedef typename TStringList::TypeData CString;
|
typedef typename TStringList::TypeData ZCString;
|
||||||
|
|
||||||
if(AL_OriginLen<1) return ARR_SaveList;
|
if(AL_OriginLen<1) return ARR_SaveList;
|
||||||
|
|
||||||
@ -3807,25 +3807,25 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(AB_DoAppendEachLink==true)
|
if(AB_DoAppendEachLink==true)
|
||||||
{
|
{
|
||||||
((CString&)ARR_SaveList).append
|
((ZCString&)ARR_SaveList).append
|
||||||
(
|
(
|
||||||
APC_OriginChar+VL_CopyStartPos, VL_Index-VL_CopyStartPos
|
APC_OriginChar+VL_CopyStartPos, VL_Index-VL_CopyStartPos
|
||||||
) ;
|
) ;
|
||||||
///////////////////////////////
|
////////////////////////////////
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
((CString&)ARR_SaveList).Invalidate().append
|
((ZCString&)ARR_SaveList).Invalidate().append
|
||||||
(
|
(
|
||||||
APC_OriginChar+VL_CopyStartPos, VL_Index-VL_CopyStartPos
|
APC_OriginChar+VL_CopyStartPos, VL_Index-VL_CopyStartPos
|
||||||
) ;
|
) ;
|
||||||
////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
}/*
|
}/*
|
||||||
else*/
|
else*/
|
||||||
}
|
}
|
||||||
else if(AB_DoAppendEmpty==true)
|
else if(AB_DoAppendEmpty==true)
|
||||||
{
|
{
|
||||||
(CString&)ARR_SaveList;
|
(ZCString&)ARR_SaveList;
|
||||||
}/*
|
}/*
|
||||||
else if(AB_DoAppendEmpty==true)*/
|
else if(AB_DoAppendEmpty==true)*/
|
||||||
|
|
||||||
@ -4052,7 +4052,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
// ARR_SaveList 의 각 원소들은 문자열 object 이어야 한다.
|
// ARR_SaveList 의 각 원소들은 문자열 object 이어야 한다.
|
||||||
|
|
||||||
typedef typename TSaveList::TypeData CString;
|
typedef typename TSaveList::TypeData ZCString;
|
||||||
|
|
||||||
if(AL_OriginLen<1 || AL_SearchLen<1) return ARR_SaveList;
|
if(AL_OriginLen<1 || AL_SearchLen<1) return ARR_SaveList;
|
||||||
|
|
||||||
@ -4062,7 +4062,7 @@ namespace ZNsMain
|
|||||||
TypeLength VL_Loop =AL_OriginLen-AL_SearchLen;
|
TypeLength VL_Loop =AL_OriginLen-AL_SearchLen;
|
||||||
TypeLength VL_Index =0 ;
|
TypeLength VL_Index =0 ;
|
||||||
|
|
||||||
CString VO_CStringTemp ;
|
ZCString VO_CStringTemp ;
|
||||||
|
|
||||||
while(VL_Index<=VL_Loop)
|
while(VL_Index<=VL_Loop)
|
||||||
{
|
{
|
||||||
@ -4267,7 +4267,7 @@ namespace ZNsMain
|
|||||||
// APC_SearchChar이 가리키는 각 문자들 중 하나라도 만족하면
|
// APC_SearchChar이 가리키는 각 문자들 중 하나라도 만족하면
|
||||||
// 그 문자로 분리해서 ARR_SaveList 에 저장한다.
|
// 그 문자로 분리해서 ARR_SaveList 에 저장한다.
|
||||||
|
|
||||||
typedef typename TStringList::TypeData CString;
|
typedef typename TStringList::TypeData ZCString;
|
||||||
|
|
||||||
if(AL_OriginLen<1 || AL_SearchLen<1) return ARR_SaveList;
|
if(AL_OriginLen<1 || AL_SearchLen<1) return ARR_SaveList;
|
||||||
|
|
||||||
@ -4290,7 +4290,7 @@ namespace ZNsMain
|
|||||||
{
|
{
|
||||||
if(i>VL_CopyStartPos)
|
if(i>VL_CopyStartPos)
|
||||||
{
|
{
|
||||||
((CString&)ARR_SaveList).append
|
((ZCString&)ARR_SaveList).append
|
||||||
( VP_CopyStartChar, i-VL_CopyStartPos ) ;
|
( VP_CopyStartChar, i-VL_CopyStartPos ) ;
|
||||||
}/*
|
}/*
|
||||||
if(i>VL_CopyStartPos)*/
|
if(i>VL_CopyStartPos)*/
|
||||||
@ -4304,7 +4304,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(VL_CopyStartPos<AL_OriginLen)
|
if(VL_CopyStartPos<AL_OriginLen)
|
||||||
{
|
{
|
||||||
((CString&)ARR_SaveList).append
|
((ZCString&)ARR_SaveList).append
|
||||||
(VP_CopyStartChar, AL_OriginLen-VL_CopyStartPos) ;
|
(VP_CopyStartChar, AL_OriginLen-VL_CopyStartPos) ;
|
||||||
}/*
|
}/*
|
||||||
if(VL_CopyStartPos<AL_OriginLen)*/
|
if(VL_CopyStartPos<AL_OriginLen)*/
|
||||||
@ -4828,7 +4828,7 @@ namespace ZNsMain
|
|||||||
같으면 임시 object 가 생성디는 문제가 있어서 STL 과 호환되게 하지는 않고
|
같으면 임시 object 가 생성디는 문제가 있어서 STL 과 호환되게 하지는 않고
|
||||||
있다. */
|
있다. */
|
||||||
|
|
||||||
typedef typename TypeList::TypeData CString;
|
typedef typename TypeList::TypeData ZCString;
|
||||||
|
|
||||||
if(AL_OriginLen<1 || AL_Search1Len<1 || AL_Search2Len<1)
|
if(AL_OriginLen<1 || AL_Search1Len<1 || AL_Search2Len<1)
|
||||||
{
|
{
|
||||||
@ -4854,12 +4854,12 @@ namespace ZNsMain
|
|||||||
|
|
||||||
if(AB_DoIncludeSearch==true)
|
if(AB_DoIncludeSearch==true)
|
||||||
{
|
{
|
||||||
((CString&)ARR_SaveList).Invalidate().append(
|
((ZCString&)ARR_SaveList).Invalidate().append(
|
||||||
APC_OriginChar+VL_Pos1 , VL_Pos2-VL_Pos1+AL_Search2Len) ;
|
APC_OriginChar+VL_Pos1 , VL_Pos2-VL_Pos1+AL_Search2Len) ;
|
||||||
}
|
}
|
||||||
else if(VL_Pos2>VL_Pos1+AL_Search1Len) // AB_DoIncludeSearch==false
|
else if(VL_Pos2>VL_Pos1+AL_Search1Len) // AB_DoIncludeSearch==false
|
||||||
{
|
{
|
||||||
((CString&)ARR_SaveList).Invalidate().append(
|
((ZCString&)ARR_SaveList).Invalidate().append(
|
||||||
APC_OriginChar+VL_Pos1+AL_Search1Len, VL_Pos2-VL_Pos1-AL_Search1Len) ;
|
APC_OriginChar+VL_Pos1+AL_Search1Len, VL_Pos2-VL_Pos1-AL_Search1Len) ;
|
||||||
|
|
||||||
// APC_Search1Char 와 APC_Search2Char 사이에 문자열이 하나 이상 있어야 한다.
|
// APC_Search1Char 와 APC_Search2Char 사이에 문자열이 하나 이상 있어야 한다.
|
||||||
@ -8286,13 +8286,13 @@ namespace ZNsMain
|
|||||||
/*//////////*/ )
|
/*//////////*/ )
|
||||||
{
|
{
|
||||||
#ifdef _DEBUG_FAST_MOVE_OBJ_
|
#ifdef _DEBUG_FAST_MOVE_OBJ_
|
||||||
cout<<" ▶▶ __FastMoveObj(CString&, CString&) Start!"<<endl;
|
cout<<" ▶▶ __FastMoveObj(ZCString&, ZCString&) Start!"<<endl;
|
||||||
#endif //_DEBUG_FAST_MOVE_OBJ_
|
#endif //_DEBUG_FAST_MOVE_OBJ_
|
||||||
|
|
||||||
AR_CString1.Fetch(AR_CString2);
|
AR_CString1.Fetch(AR_CString2);
|
||||||
|
|
||||||
#ifdef _DEBUG_FAST_MOVE_OBJ_
|
#ifdef _DEBUG_FAST_MOVE_OBJ_
|
||||||
cout<<" ▶▶ __FastMoveObj(CString&, CString&) Close!"<<endl;
|
cout<<" ▶▶ __FastMoveObj(ZCString&, ZCString&) Close!"<<endl;
|
||||||
#endif //_DEBUG_FAST_MOVE_OBJ_
|
#endif //_DEBUG_FAST_MOVE_OBJ_
|
||||||
}/*
|
}/*
|
||||||
template<typename TTypCh, typename TAlloc, typename TAllocSize, typename TTypeString>
|
template<typename TTypCh, typename TAlloc, typename TAllocSize, typename TTypeString>
|
||||||
@ -8311,13 +8311,13 @@ namespace ZNsMain
|
|||||||
typedef ZNsMain::ZtCStringBase<TTypCh, TAlloc, TAllocSize, TTypeString> CStringType;
|
typedef ZNsMain::ZtCStringBase<TTypCh, TAlloc, TAllocSize, TTypeString> CStringType;
|
||||||
|
|
||||||
#ifdef _DEBUG_FAST_MOVE_OBJ_
|
#ifdef _DEBUG_FAST_MOVE_OBJ_
|
||||||
cout<<" ▶▶ __FastMoveObj(CString&, const CString&) Start!"<<endl;
|
cout<<" ▶▶ __FastMoveObj(ZCString&, const ZCString&) Start!"<<endl;
|
||||||
#endif //_DEBUG_FAST_MOVE_OBJ_
|
#endif //_DEBUG_FAST_MOVE_OBJ_
|
||||||
|
|
||||||
AR_CString1.Fetch(const_cast<CStringType&>(AR_CString2));
|
AR_CString1.Fetch(const_cast<CStringType&>(AR_CString2));
|
||||||
|
|
||||||
#ifdef _DEBUG_FAST_MOVE_OBJ_
|
#ifdef _DEBUG_FAST_MOVE_OBJ_
|
||||||
cout<<" ▶▶ __FastMoveObj(CString&, const CString&) Close!"<<endl;
|
cout<<" ▶▶ __FastMoveObj(ZCString&, const ZCString&) Close!"<<endl;
|
||||||
#endif //_DEBUG_FAST_MOVE_OBJ_
|
#endif //_DEBUG_FAST_MOVE_OBJ_
|
||||||
}/*
|
}/*
|
||||||
template<typename TTypCh, typename TAlloc, typename TAllocSize, typename TTypeString>
|
template<typename TTypCh, typename TAlloc, typename TAllocSize, typename TTypeString>
|
||||||
|
Reference in New Issue
Block a user