1.//将字符串转出数字 “123a45”->123
int Myatoi(const char *str)
{
int tmp = 0;
while(isdigit(*str))
{
tmp = tmp*10 + (*str - '0');
str++;
}
return tmp;
}
2.//将str逆置。“abc”->“cba”
void StrRerverse(char *str)
{
char *p;
for(p=str;*p!='\0';p++) ;//p找尾巴
char tmp;
for(p--; str<p; str++,p--)//交换字符
{
tmp = *str;
*str = *p;
*p = tmp;
}
}
3.//将n转成10进制字符串存放在str中
//12345->“54321”->“12345”
void Myitoa(char *str,int n)
{
int i = 0;
do
{
str[i++] = n%10 + '0';//
n /= 10;
}while(n != 0);
str[i] = '\0';
StrRerverse(str);
}
4.//比较字符串大小。
//str1<str2返回<0的数字;str1==str2返回0;str1>str2返回>0的数字
int Mystrcmp(const char *str1,const char *str2)
{
int tmp; // 保存差值
while((tmp=*str1 - *str2)==0 && *str1!='\0')
{
str1++;
str2++;
}
return tmp;
}