myStrlen
int myStrlen(char * str)
{
int len = 0;
while (*str)
{
str++;
len++;
}
return len;
}
.
myStrcpy
char * myStrcpy(char * str, const char * dest)
{
char *t = str;
while (*str++ = *dest++);
return t;
}
.
myStrcmp
int myStrcmp(const char *str, const char * dest)
{
for (; *str == *dest && *str; str++, dest++);
return *str == *dest ? 0 : (*str > *dest ? 1 : -1);
}
.
myStrncmp
int myStrncmp(const char * str, const char * dest, int n)
{
for (int i = 0; *str == *dest && *str && i < n; str++, dest++, i++);
return *str == *dest ? 0 : (*str>*dest ? 1 : -1);
}
.
myStrchr
char * myStrchr(char *str, char ch)
{
while (*str)
{
if (*str == ch)
{
return str;
}
str++;
}
return str;
}
.
myStrstr
char * myStrstr(char * str, char * dest)
{
while (*str)
{
if (*str == *dest)
{
for (int i = 1; *(str + i) == *(dest + i); i++)
{
if (*(dest + i +1 ) == '\0')
{
return str;
}
}
}
str++;
}
return str;
}
.
myStrrev
char * myStrrev(char * str)
{
char * t = str;
char * left = str;
while (*str)
{
str++;
}
str--;
char * right = str;
while (left < right)
{
char ch = *left;
*left = *right;
*right = ch;
left++;
right--;
}
return t;
}
.
myStrcat
char * myStrcat(char * str, const char * dest)
{
char *t = str;
while (*str)
{
str++;
}
while (*str++ = *dest++);
return t;
}
.
myMemcpy
char * myMemcpy(char * str, const char * dest, int n)
{
char * p = str;
const char * q = dest;
if ((p<=q) || (q+n<=p))
{
while (n--)
{
*p++ = *q++;
}
}
else
{
p = p + n - 1;
q = q + n - 1;
while (n--)
{
*p-- = *q--;
}
}
return str;
}
.
myMemset
void * myMemset(void * str, int set, int len)
{
char * t = (char*)str;
while (len--)
{
*t++ = set;
}
return str;
}
.
myItoa
char * myItoa(int num, char * str)
{
int i = 0;
char * t = str;
bool flag = true;
if (num < 0)
{
flag = false;
num = -num;
}
while (num)
{
str[i++] = num % 10 + 48;
num = num / 10;
}
if (false == flag)
{
str[i++] = '-';
}
str = '\0';
return myStrrev(t);
}
.
myAtoi
int myAtoi(char * str)
{
while (*str == ' ')
{
str++;
}
int res = 0;
int num = 1;
if (*str == '-')
{
num = -1;
str++;
}
while (*str>='0' && *str <='9')
{
res = res * 10 + *str - '0';
str++;
}
return res*num;
}