From 5a1dba2a387fc136424e5a1a5b0bb535f8ff55e8 Mon Sep 17 00:00:00 2001 From: sauron Date: Thu, 9 Oct 2025 01:41:26 +0900 Subject: [PATCH] commit 2025-10-09 01:41 bug fix of operator()(long), (long long) etc : ZCppMain/ZtCStringStd.H --- ZCppMain/ZtCStringEx.H | 104 ++++++++++++++++++++++++------------- ZCppMain/ZtCStringStd.H | 101 ++++++++++++++++++++++------------- ZCppMainTest/ZtCStringBase_000.cpp | 21 ++++++++ 3 files changed, 154 insertions(+), 72 deletions(-) diff --git a/ZCppMain/ZtCStringEx.H b/ZCppMain/ZtCStringEx.H index 1c691a1..72e7752 100644 --- a/ZCppMain/ZtCStringEx.H +++ b/ZCppMain/ZtCStringEx.H @@ -1575,88 +1575,118 @@ namespace ZNsMain }/* ZCStringBase& operator()(const ZCChars& AR_CChars)*/ + ZCStringBase& operator()(int AI_IntParam) { - const int CI_BuffSize=21; char VCA_BuffParam[CI_BuffSize]; + const int CI_BuffSize= 21; TypeChar VCA_BuffParam[CI_BuffSize] ; - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%d", AI_IntParam); - - return (*this)(VCA_BuffParam, VI_ResultSize); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*+++++++*/ "%d", AI_IntParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%d", AI_IntParam) + ); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZCStringBase& operator()(int AI_IntParam)*/ ZCStringBase& operator()(ZTypUInt AUI_UIntParam) { - const int CI_BuffSize=21; char VCA_BuffParam[CI_BuffSize]; + const int CI_BuffSize= 21; TypeChar VCA_BuffParam[CI_BuffSize] ; - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%u", AUI_UIntParam); - - return (*this)(VCA_BuffParam, VI_ResultSize); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%u", AUI_UIntParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%u", AUI_UIntParam) + ); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZCStringBase& operator()(ZTypUInt AUI_UIntParam)*/ ZCStringBase& operator()(ZTypLong AL_LongParam) { - const int CI_BuffSize=31; char VCA_BuffParam[CI_BuffSize]; + const int CI_BuffSize= 31; TypeChar VCA_BuffParam[CI_BuffSize] ; - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%ld", AL_LongParam); - - return (*this)(VCA_BuffParam, VI_ResultSize); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%ld", AL_LongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%ld", AL_LongParam) + ); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZCStringBase& operator()(ZTypLong AL_LongParam)*/ ZCStringBase& operator()(ZTypULong AUL_ULongParam) { - const int CI_BuffSize=31; char VCA_BuffParam[CI_BuffSize]; + const int CI_BuffSize= 31; TypeChar VCA_BuffParam[CI_BuffSize] ; - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%lu", AUL_ULongParam); - - return (*this)(VCA_BuffParam, VI_ResultSize); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%lu", AUL_ULongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%lu", AUL_ULongParam) + ); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZCStringBase& operator()(ZTypULong AUL_ULongParam)*/ ZCStringBase& operator()(ZTypLLong ALL_LLongParam) { - const int CI_BuffSize=41; char VCA_BuffParam[CI_BuffSize]; - + const int CI_BuffSize= 41; TypeChar VCA_BuffParam[CI_BuffSize] ; #ifdef _WIN - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%I64d", ALL_LLongParam); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%I64d", ALL_LLongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%I64d", ALL_LLongParam) + ); #else - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%lld" , ALL_LLongParam); + int VI_ResultSize = + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%lld" , ALL_LLongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%lld" , ALL_LLongParam) + ); #endif - - return (*this)(VCA_BuffParam, VI_ResultSize); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZCStringBase& operator()(ZTypLLong ALL_LLongParam)*/ ZCStringBase& operator()(ZTypULLong AULL_LLongParam) { - const int CI_BuffSize=41; char VCA_BuffParam[CI_BuffSize]; - + const int CI_BuffSize= 41; TypeChar VCA_BuffParam[CI_BuffSize] ; #ifdef _WIN - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%I64u", AULL_LLongParam); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*+++++++*/ "%I64u", AULL_LLongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%I64u", AULL_LLongParam) + ); #else - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%llu" , AULL_LLongParam); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%llu" , AULL_LLongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%llu" , AULL_LLongParam) + ); #endif - - return (*this)(VCA_BuffParam, VI_ResultSize); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZCStringBase& operator()(ZTypULLong AULL_LLongParam)*/ ZCStringBase& operator()(double AD_DoubleParam) { - const int CI_BuffSize=51 ; - char VCA_BuffParam[CI_BuffSize]; + const int CI_BuffSize= 51; TypeChar VCA_BuffParam[CI_BuffSize] ; - int VI_ResultSize = ::sprintf + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ ( - VCA_BuffParam, "%f", AD_DoubleParam + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%f", AD_DoubleParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%f", AD_DoubleParam) ); - ///////////////////////////// - - TrimDecimalZero(VCA_BuffParam, VI_ResultSize); - - return (*this)(VCA_BuffParam); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZCStringBase& operator()(double AD_DoubleParam)*/ diff --git a/ZCppMain/ZtCStringStd.H b/ZCppMain/ZtCStringStd.H index be942fd..40adeb0 100644 --- a/ZCppMain/ZtCStringStd.H +++ b/ZCppMain/ZtCStringStd.H @@ -345,84 +345,115 @@ namespace ZNsMain ZtCStringStd& operator()(int AI_IntParam) { - const int CI_BuffSize=21; char VCA_BuffParam[CI_BuffSize]; + const int CI_BuffSize= 21; TypeChar VCA_BuffParam[CI_BuffSize] ; - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%d", AI_IntParam); - - return (*this)(VCA_BuffParam, VI_ResultSize); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*+++++++*/ "%d", AI_IntParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%d", AI_IntParam) + ); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZtCStringStd& operator()(int AI_IntParam)*/ ZtCStringStd& operator()(ZTypUInt AUI_UIntParam) { - const int CI_BuffSize=21; char VCA_BuffParam[CI_BuffSize]; + const int CI_BuffSize= 21; TypeChar VCA_BuffParam[CI_BuffSize] ; - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%u", AUI_UIntParam); - - return (*this)(VCA_BuffParam, VI_ResultSize); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%u", AUI_UIntParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%u", AUI_UIntParam) + ); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZtCStringStd& operator()(ZTypUInt AUI_UIntParam)*/ ZtCStringStd& operator()(long AL_LongParam) { - const int CI_BuffSize=31; char VCA_BuffParam[CI_BuffSize]; + const int CI_BuffSize= 31; TypeChar VCA_BuffParam[CI_BuffSize] ; - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%ld", AL_LongParam); - - return (*this)(VCA_BuffParam, VI_ResultSize); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%ld", AL_LongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%ld", AL_LongParam) + ); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZtCStringStd& operator()(long AL_LongParam)*/ ZtCStringStd& operator()(ZTypULong AUL_ULongParam) { - const int CI_BuffSize=31; char VCA_BuffParam[CI_BuffSize]; + const int CI_BuffSize= 31; TypeChar VCA_BuffParam[CI_BuffSize] ; - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%lu", AUL_ULongParam); - - return (*this)(VCA_BuffParam, VI_ResultSize); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%lu", AUL_ULongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%lu", AUL_ULongParam) + ); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZtCStringStd& operator()(ZTypULong AUL_ULongParam)*/ ZtCStringStd& operator()(ZTypLLong ALL_LLongParam) { - const int CI_BuffSize=41; char VCA_BuffParam[CI_BuffSize]; - + const int CI_BuffSize= 41; TypeChar VCA_BuffParam[CI_BuffSize] ; #ifdef _WIN - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%I64d", ALL_LLongParam); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%I64d", ALL_LLongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%I64d", ALL_LLongParam) + ); #else - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%lld" , ALL_LLongParam); + int VI_ResultSize = + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%lld" , ALL_LLongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%lld" , ALL_LLongParam) + ); #endif - - return (*this)(VCA_BuffParam, VI_ResultSize); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZtCStringStd& operator()(ZTypLLong ALL_LLongParam)*/ ZtCStringStd& operator()(ZTypULLong AULL_LLongParam) { - const int CI_BuffSize=41; char VCA_BuffParam[CI_BuffSize]; - + const int CI_BuffSize= 41; TypeChar VCA_BuffParam[CI_BuffSize] ; #ifdef _WIN - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%I64u", AULL_LLongParam); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*+++++++*/ "%I64u", AULL_LLongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%I64u", AULL_LLongParam) + ); #else - int VI_ResultSize = ::sprintf(VCA_BuffParam, "%llu" , AULL_LLongParam); + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ + ( + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%llu" , AULL_LLongParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%llu" , AULL_LLongParam) + ); #endif - - return (*this)(VCA_BuffParam, VI_ResultSize); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZtCStringStd& operator()(ZTypULLong AULL_LLongParam)*/ ZtCStringStd& operator()(double AD_DoubleParam) { - const int CI_BuffSize=51 ; - char VCA_BuffParam[CI_BuffSize]; + const int CI_BuffSize= 51; TypeChar VCA_BuffParam[CI_BuffSize] ; - int VI_ResultSize = ::sprintf + int VI_ResultSize = /*::::::::::::::::::::::::::::::::::::::::*/ ( - VCA_BuffParam, "%f", AD_DoubleParam + sizeof(TypeChar)<=1 + ? ::sprintf ((char* )VCA_BuffParam, /*++++++++*/ "%f", AD_DoubleParam) + : ::swprintf((wchar_t*)VCA_BuffParam, CI_BuffSize, L"%f", AD_DoubleParam) ); - ///////////////////////////// - - return (*this)(VCA_BuffParam); + return (*this)(VCA_BuffParam, VI_ResultSize); /*::::::::::::::*/ }/* ZtCStringStd& operator()(double AD_DoubleParam)*/ diff --git a/ZCppMainTest/ZtCStringBase_000.cpp b/ZCppMainTest/ZtCStringBase_000.cpp index b8d6102..bf84af8 100644 --- a/ZCppMainTest/ZtCStringBase_000.cpp +++ b/ZCppMainTest/ZtCStringBase_000.cpp @@ -3,6 +3,7 @@ #include #include #include "ZCppMain/ZtCStringEx.H" +#include "ZCppMain/ZtCStringStd.H" using namespace std; @@ -13,6 +14,9 @@ namespace ZNsMain namespace ZNsExam { + typedef ZtCStringStd ZCStringStd ; + typedef ZtCStringStd ZCStringStdW ; + typedef ZtCStringBase ZCStringBase ; typedef ZtCStringBase ZCStringBaseW ; @@ -54,6 +58,23 @@ namespace ZNsMain cout<<"# ZCStringBaseW::traits_type="<