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;
}
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐