Compare commits

...

1 Commits

Author SHA1 Message Date
/* User with id == 0 is a fake user from git author */ sauron
70043918bb commit 2025-09-02 14:24 fix bug jin Replace() in ZCppMain/ZtCStringEx.H 2025-09-02 14:24:11 +09:00
2 changed files with 37 additions and 15 deletions

View File

@ -166,7 +166,7 @@ namespace ZNsMain
( (
VPC_ThisStart + VL_DestStart, VPC_ThisStart + VL_DestStart,
VPC_ThisStart + VL_MoveStart, VPC_ThisStart + VL_MoveStart,
VL_MoveStart - VL_DestStart VL_ThisSize - VL_MoveStart
); );
/*::::::::::::::::::::::::::::::::::::::::*/ /*::::::::::::::::::::::::::::::::::::::::*/
}/* }/*
@ -282,6 +282,20 @@ namespace ZNsMain
###########################################################################*/ ###########################################################################*/
ZCStringStd& Replace /*####################################################*/
(
TypeCPChar APC_Search, TypeCPChar APC_Replace, TypeLength AL_Offset=0
)
/*#########################################################################*/
{
return Replace(APC_Search, APC_Replace, ZftLength(APC_Search), ZftLength(APC_Replace), AL_Offset);
}/*
ZCStringStd& Replace /*######################################################
(
TypeCPChar APC_Search, TypeCPChar APC_Replace, TypeLength AL_Offset=0
)
###########################################################################*/
public: public:
};/* };/*
class ZCStringStd : public std::string*/ class ZCStringStd : public std::string*/

View File

@ -407,11 +407,11 @@ namespace ZNsMain
VPC_MoveStart = VPC_ThisStart + VL_MoveStart ; VPC_MoveStart = VPC_ThisStart + VL_MoveStart ;
VPC_DestStart = VPC_ThisStart + VL_DestStart ; VPC_DestStart = VPC_ThisStart + VL_DestStart ;
::memmove /*::::::::::::::::::::::::::::::::::::::*/ ::memmove /*:::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
( (
VPC_DestStart, VPC_MoveStart, VL_MemMoveSize VPC_DestStart, VPC_MoveStart, VL_MemMoveSize*sizeof(TypeChar)
); );
/*::::::::::::::::::::::::::::::::::::::::::::::::*/ /*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
}/* }/*
if(VL_MoveStart>VL_DestStart)*/ if(VL_MoveStart>VL_DestStart)*/
@ -420,7 +420,11 @@ namespace ZNsMain
VL_DestStart = VL_SearchedPos+ AL_Searched - VL_DestStart = VL_SearchedPos+ AL_Searched -
( AL_Searched-AL_Replace ) * i ; ( AL_Searched-AL_Replace ) * i ;
::memcpy(VPC_RepalcePos, APC_Replace, AL_Replace); ::memcpy /*:::::::::::::::::::::::::::::::::::::::::::::::::::*/
(
VPC_RepalcePos, APC_Replace, AL_Replace*sizeof(TypeChar)
);
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
AR_CPosList.ItNext(VH_IterEasyID); AR_CPosList.ItNext(VH_IterEasyID);
}/* }/*
@ -428,13 +432,13 @@ namespace ZNsMain
if(VL_DestStart<VL_MoveStart && VL_DestStart<VL_ThisSize) if(VL_DestStart<VL_MoveStart && VL_DestStart<VL_ThisSize)
{ {
::memmove /*::::::::::::::::::::::::::::::*/ ::memmove /*::::::::::::::::::::::::::::::::::::::::*/
( (
VPC_ThisStart + VL_DestStart, VPC_ThisStart + VL_DestStart,
VPC_ThisStart + VL_MoveStart, VPC_ThisStart + VL_MoveStart,
VL_MoveStart - VL_DestStart (VL_ThisSize - VL_MoveStart)*sizeof(TypeChar)
); );
/*::::::::::::::::::::::::::::::::::::::::*/ /*::::::::::::::::::::::::::::::::::::::::::::::::::*/
}/* }/*
if(VL_DestStart<VL_MoveStart && VL_DestStart<VL_ThisSize)*/ if(VL_DestStart<VL_MoveStart && VL_DestStart<VL_ThisSize)*/
@ -467,11 +471,11 @@ namespace ZNsMain
VL_MemCopySize = VL_MemCopySize =
VL_SearchedPos - VL_SearchedPre ; VL_SearchedPos - VL_SearchedPre ;
::memcpy /*:::::::::::::::::::::::::::::::::::::::*/ ::memcpy /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
( (
VPC_DestStart, VPC_CopyStart, VL_MemCopySize VPC_DestStart, VPC_CopyStart, VL_MemCopySize*sizeof(TypeChar)
); );
/*::::::::::::::::::::::::::::::::::::::::::::::::*/ /*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
}/* }/*
if(VL_SearchedPos>VL_SearchedPre)*/ if(VL_SearchedPos>VL_SearchedPre)*/
@ -480,7 +484,11 @@ namespace ZNsMain
( AL_Replace-AL_Searched ) * (i-1) ; ( AL_Replace-AL_Searched ) * (i-1) ;
VPC_RepalcePos = VPC_OutStart + VL_DestStart ; VPC_RepalcePos = VPC_OutStart + VL_DestStart ;
::memcpy(VPC_RepalcePos, APC_Replace, AL_Replace) ; ::memcpy /*:::::::::::::::::::::::::::::::::::::::::::::::::::*/
(
VPC_RepalcePos, APC_Replace, AL_Replace*sizeof(TypeChar)
) ;
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
AR_CPosList.ItNext(VH_IterEasyID); AR_CPosList.ItNext(VH_IterEasyID);
}/* }/*
@ -494,11 +502,11 @@ namespace ZNsMain
VPC_CopyStart = VPC_ThisStart+ VL_SearchedPre; VPC_CopyStart = VPC_ThisStart+ VL_SearchedPre;
VL_MemCopySize = VL_ThisSize - VL_SearchedPre; VL_MemCopySize = VL_ThisSize - VL_SearchedPre;
::memcpy /*:::::::::::::::::::::::::::::::::::::::*/ ::memcpy /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
( (
VPC_DestStart, VPC_CopyStart, VL_MemCopySize VPC_DestStart, VPC_CopyStart, VL_MemCopySize*sizeof(TypeChar)
); );
/*::::::::::::::::::::::::::::::::::::::::::::::::*/ /*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
}/* }/*
if(VL_SearchedPre<VL_ThisSize)*/ if(VL_SearchedPre<VL_ThisSize)*/