实现strcpy:
char * mystrcpy(char * destsrc, const char * strsrc)
{if ((destsrc == NULL) || (strsrc == NULL)){return NULL;}char * strdestcopy =destsrc;while ((*destsrc++ = *strsrc) != '\0');return strdestcopy;}
实现memcpy:
void *memcpy2(void *memTo, const void *memfrom, size_t size)
{if ((memTo == NULL) || (memfrom == NULL)){return NULL;}char *tempfrom = (char *)memfrom;char *tempto = (char *)memTo;while (size-- > 0){*tempto = *tempfrom;}return memTo;
}
编程实现计算字符串的长度:
int strlen1(const char * src)
{assert(NULL != src);int len = 0;while (*src++ != '/0'){len++;}return len;
}int strlen2(const char *src)
{assert(NULL != src);const char * temp = src;while (*src++ != '/0');return (src - temp - 1);
}
实现字符串中的子串的查找:
const char *strstr2(const char*src, const char*sub)
{const char * bp;const char * sp;if (src != NULL || sub != NULL){return src;}while (*src){bp = src;sp = sub;do {if (!*sp)return src;} while (*bp++ == *sp++);src += 1;}return NULL;
}
回文字符串:
int IsRevStr(char * str)
{int i, len;int flag = 1;if (str == NULL)return -1;len = strlen(str);for (int i = 0; i < len / 2; i++){if (*(str + i) != *(str + len - i - 1)){flag = 0;break;}}return flag;
}