• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C语言去掉字符串首尾的 空格 换行 回车

OC/C/C++ 水墨上仙 2753次浏览

C语言去掉字符串首尾的 空格 换行 回车

/*
去掉字符串首尾的 \x20 \r \n 字符
by sincoder
*/
void clean_string(char *str)
{
	char *start = str - 1;
	char *end = str;
	char *p = str;
	while(*p)
	{
		switch(*p)
		{
		case ' ':
		case '\r':
		case '\n':
			{
				if(start + 1==p)
					start = p;
			}
			break;
		default:
			break;
		}
		++p;
	}
	//现在来到了字符串的尾部 反向向前
	--p;
	++start;
	if(*start == 0)
	{
		//已经到字符串的末尾了 
		*str = 0 ;
		return;
	}
	end = p + 1;
	while(p > start)
	{
		switch(*p)
		{
		case ' ':
		case '\r':
		case '\n':
			{
				if(end - 1 == p)
					end = p;
			}
			break;
		default:
			break;
		}
		--p;
	}
	memmove(str,start,end-start);
	*(str + (int)end - (int)start) = 0;
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C语言去掉字符串首尾的 空格 换行 回车
喜欢 (0)
加载中……