1. strcpy
函数原型:
char * strcpy(char * strDest,const char * strSrc);
具体实现:
char * strcpy(char * strDest,const char * strSrc)
{
if(strDest == NULL ||strSrc == NULL)
throw "Error copy !";
char *strTemp = strDest;
while((*strDest++ = *strSrc++) != '\0')
;
return strTemp;
}
2. strcat
函数原型:
char* strcat(char* strDest, const char* strSrc);
具体实现:
char* strcat(char* strDest, const char* strSrc)
{
if(strDest == NULL || strSrc == NULL)
throw "concat Error!";
char* strTemp = strDest;
while(*strTemp++ != '\0')
;
while((*strTemp++ = *strSrc++) != '\0')
;
return strDest;
}
函数原型:
int strcmp(const char* strDest, const char* strSrc);
具体实现:
int strcmp(const char* strDest, const char* strSrc)
{
int nRet = 0;
if(strDest == NULL || strSrc == NULL)
throw "compare Error!";
while(!(nRet = (*strDest - *strSrc)) && strSrc)
{
++strDest;
++strSrc;
}
if (nRet > 0)
{
nRet = 1;
}
else if (nRet < 0)
{
nRet = -1;
}
return nRet;
}
返回值:
* returns -1 if strDest < strSrc
* returns 0 if strDest == strSrc
* returns +1 if strDest > strSrc
函数原型:
void *memcpy(void* pvTo, void* pvFrom, size_t size);
具体实现:
void *memcpy(void* pvTo, void* pvFrom, size_t size)
{
if(pvFrom == NULL || pvTo == NULL)
throw "memcpy Error!";
void* pvTempTo = pvTo;
void* pvTempFrom = pvFrom;
if (pvFrom < pvTo + size && pvTo < pvFrom + size)
throw "memcpy Error!";
while(size-- > 0)
{
*pvTempTo++ = *pvTempFrom++;
}
return pvTo;
}
5. memmove
函数原型:
void* memmove(void* dest, void* source, size_t size);
具体实现:
void* memmove(void* dest, void* source, size_t size)
{
if (dest == NULL || source == NULL)
throw "memmove Error!";
void * destTemp = dest;
if (dest >= (source + size) || source >= (dest + size))
{
while(size-- > 0)
*dest++ = *source++;
}
else
{
dest += size - 1;
source += size - 1;
*dest-- = *source--;
}
return destTemp;
}