char* substr(char* str,unsigned int start,unsigned int lenght=0)
{
if( !str )return NULL;
if( start>=strlen(str) )return NULL;
if( lenght==0 || lenght>(strlen(str)-start) )
lenght = strlen(str)-start;
char* tmp = new char[lenght+1];
memset( tmp,0,lenght+1 );
memcpy( tmp,str+start ,lenght);
tmp[lenght] = '\0';
return tmp;
}
//-------------------------------
wchar_t* substr(wchar_t* str,unsigned int start,unsigned int lenght=0)
{
if( !str )return NULL;
if( start>=wcslen(str) )return NULL;
if( lenght==0 || lenght>(wcslen(str)-start) )
lenght = wcslen(str)-start;
wchar_t* tmp = new wchar_t[lenght+1];
memset( tmp,0,lenght+1 );
memcpy( tmp,str+start ,lenght);
tmp[lenght] = '\0';
return tmp;
}
我翻译的对不对,我感觉不对啊,UNICODE字符串结尾字符是2个字节的,谁帮帮我