commit 2025-10-09 10:41 bug fix about wchar_t in ZCppMain/ZtCStringEx.H and add ZftAtoI(), ZftAotL() etc in ZCppMain/ZMainHead.H

This commit is contained in:
2025-10-09 10:41:59 +09:00
parent f2a67017c8
commit ce0d364102
4 changed files with 165 additions and 55 deletions

View File

@ -1300,12 +1300,12 @@ namespace ZNsMain
bool operator<=(TypeCharC* APC_Data) const{return Minus(APC_Data)<=0 ;}
bool operator< (TypeCharC* APC_Data) const{return Minus(APC_Data)< 0 ;}
bool operator==(const ZCStringBase& rhs) const{return Minus(rhs.data(), rhs.GetUseLength())==0 ;}
bool operator!=(const ZCStringBase& rhs) const{return Minus(rhs.data(), rhs.GetUseLength())!=0 ;}
bool operator> (const ZCStringBase& rhs) const{return Minus(rhs)> 0;}
bool operator>=(const ZCStringBase& rhs) const{return Minus(rhs)>=0;}
bool operator< (const ZCStringBase& rhs) const{return Minus(rhs)< 0;}
bool operator<=(const ZCStringBase& rhs) const{return Minus(rhs)<=0;}
bool operator==(const ZCStringBase& rhs ) const{return Minus(rhs.data(), rhs.GetUseLength())==0 ;}
bool operator!=(const ZCStringBase& rhs ) const{return Minus(rhs.data(), rhs.GetUseLength())!=0 ;}
bool operator> (const ZCStringBase& rhs ) const{return Minus(rhs)> 0;}
bool operator>=(const ZCStringBase& rhs ) const{return Minus(rhs)>=0;}
bool operator< (const ZCStringBase& rhs ) const{return Minus(rhs)< 0;}
bool operator<=(const ZCStringBase& rhs ) const{return Minus(rhs)<=0;}
bool operator==(const ZCChars& AR_CChars) const{return Minus(AR_CChars.data(), AR_CChars.size())==0 ;}
bool operator!=(const ZCChars& AR_CChars) const{return Minus(AR_CChars.data(), AR_CChars.size())!=0 ;}
@ -1928,36 +1928,23 @@ namespace ZNsMain
}/*
bool IsEmpty() const*/
int GetInt () const{return ZNsMain::ZfAtoI (mpc_Data);}
ZTypLong GetLong () const{return ZNsMain::ZfAtoL (mpc_Data);}
ZTypLLong GetLongLong() const{return ZNsMain::ZfAtoLL(mpc_Data);}
ZTypLLong GetLLong () const{return ZNsMain::ZfAtoLL(mpc_Data);}
double GetDouble () const{return ZNsMain::ZfAtoD (mpc_Data);}
ZCStringBase& ConvertLLong()
{
ZNsMain::ZTypLLong LLongValue = ZNsMain::ZfAtoLL(mpc_Data);
this->Invalid(); return (*this)(LLongValue);
}/*
ZCStringBase& ConvertLLong()*/
ZCStringBase& ConvertLong()
{
ZNsMain::ZTypLLong LongValue = ZNsMain::ZfAtoL(mpc_Data);
this->Invalid(); return (*this)(LongValue);
}/*
ZCStringBase& ConvertLong()*/
int GetInt () const{return ZNsMain::ZftAtoI (mpc_Data);}
ZTypLong GetLong () const{return ZNsMain::ZftAtoL (mpc_Data);}
ZTypLLong GetLongLong() const{return ZNsMain::ZftAtoLL(mpc_Data);}
ZTypLLong GetLLong () const{return ZNsMain::ZftAtoLL(mpc_Data);}
double GetDouble () const{return ZNsMain::ZftAtoD (mpc_Data);}
ZCStringBase& Format(TypeCharC* APC_Format, ...)
{
// 이 함수 수행전에 적당한 문자열 메모리가 할당되어 있어야 한다.
va_list VP_VarParam;
va_list VP_VarParam;
va_start(VP_VarParam, APC_Format);
vsprintf(mpc_Data, APC_Format, VP_VarParam);
if(sizeof(TypeChar)<=1)
::vsprintf ((char* )mpc_Data, /*+++*/ (char* )APC_Format, VP_VarParam);
else ::vswprintf((wchar_t*)mpc_Data, size(), (wchar_t*)APC_Format, VP_VarParam);
InvalidNull(); return *this;
}/*
@ -1969,9 +1956,12 @@ namespace ZNsMain
ReAllocKeep(ml_UseLen+AL_FormatSize);
va_list VP_VarParam;
va_start( VP_VarParam, APC_Format);
vsprintf(mpc_Data+ml_UseLen, APC_Format, VP_VarParam);
va_list VP_VarParam;
va_start(VP_VarParam, APC_Format);
if(sizeof(TypeChar)<=1)
::vsprintf ((char* )mpc_Data, /*+++*/ (char* )APC_Format, VP_VarParam);
else ::vswprintf((wchar_t*)mpc_Data, size(), (wchar_t*)APC_Format, VP_VarParam);
InvalidNull(ml_UseLen); return *this;
}/*