码迷,mamicode.com
首页 > 其他好文 > 详细

sprintf函数在字符串处理的妙用

时间:2014-09-24 12:03:06      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:c++   字符串   

//转化字符串为原来字符+该字符连续出现的次数
void TransChar(char* str,int n,char* res)
{
	int res_len=0;//结果字符串现有长度
	int count =1;//当前字符出现的次数
	for (int i=0;i<n;i++)
	{
		if (str[i+1]==str[i])
		{
             count++;
		}
		else
		{
			sprintf(res+res_len,"%c%d",str[i],count);
            res_len+=2;
			count =1;
		}
	}
}
//替换字符串里面的空格为%20,保存在res
void repalcebank(char* str,int n,char* res)
{   
	int res_len=0;//记录存储在res中字符长度
     for (int i=0;i<=n;i++)
     {
         if (str[i]==' ')
         {   
			 char sub[]="%20";
             sprintf(res+res_len,"%s",sub);//把%20加在res字符串尾端
			 res_len+=3;
         }
		 else
		 {
             res[res_len++]=str[i];
		 }
     }
    res[res_len]='\0';//添加结束符
}
int main()
{
    char a[]="we are happy";
	char res[20]={'\0'};
    repalcebank(a,12,res);
	return 0;
}

sprintf函数在字符串处理的妙用

标签:c++   字符串   

原文地址:http://blog.csdn.net/seuliujiaguo/article/details/39518967

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!