trim/trimleft/trimright系列函数不再new出字符串

This commit is contained in:
hyzboy 2020-09-03 11:05:46 +08:00
parent 80d1e17dcb
commit 0b6e12c471

View File

@ -1108,7 +1108,7 @@ namespace hgl
* @return delete[]
*/
template<typename T>
T *trimleft(const T *src,int &len)
const T *trimleft(const T *src,int &len)
{
const T *p=src;
@ -1119,20 +1119,16 @@ namespace hgl
}
if(len<=0)
return(0);
return(nullptr);
T *new_str=new T[len+1];
memcpy(new_str,p,len*sizeof(T));
new_str[len]=0;
return new_str;
return p;
}
/**
*
*/
template<typename T>
T *trimright(const T *src,int &len)
const T *trimright(const T *src,int &len)
{
const T *p=src+len-1;
@ -1143,20 +1139,16 @@ namespace hgl
}
if(len<=0)
return(0);
return(nullptr);
T *new_str=new T[len+1];
memcpy(new_str,src,len*sizeof(T));
new_str[len]=0;
return new_str;
return src;
}
/**
*
*/
template<typename T>
T *trim(const T *src,int &len)
const T *trim(const T *src,int &len)
{
const T *sp=src;
const T *ep=src+len-1;
@ -1174,13 +1166,9 @@ namespace hgl
}
if(len<=0)
return(0);
return(nullptr);
T *new_str=new T[len+1];
memcpy(new_str,sp,len*sizeof(T));
new_str[len]=0;
return new_str;
return sp;
}
/**