去掉一个字符串的首尾空格,若中间有空格仅保留一个

#include<stdio.h>
char* replace(char *str,int more)
{
	char *ptr = str;
		while (*str!=' ')
		{
			char *m;
			if (*str == '\0')
			{
				m = str - more-1;
				*m = *str;
				break;
			}
			else
			{
				m = str - more;
				*m = *str;
				str++;	
			}
					 
		}
		 
		if (*str!='/0')
		
		{
				char *tem = str - more;
				*tem = *str;
				str;
		}
				return str;	
}
char* formatString(char *sourceString) {
	char *str = sourceString;
	 
	while (*str== ' ')
	{
		str++;
		
	}
	sourceString = str;
	int more = 0;
	while (*str != '\0')
	{
		
		if (*str == ' ')
		{
			str++;
			while (*str == ' ')
			{
				more++;
				str++;
				if (*str != ' ')
					break;
			}
			 str= replace(str, more);		 
		}
		else
			str++;
	}
	return sourceString;
}
int main()
{
	char str[] ="  I   love you   ";
	printf("%s\n",str);
	char* temp = formatString(str);
	printf("%s",temp);
	return 0;	 
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值