C++字符串的压缩和解压(初学者的)

对于初学者的我来说,面对c语言心总有一点惶恐和不安,经过对函数的摔打和锤炼,已不再是懵懵懂懂的大菜鸟,已升级为小菜鸟,今天面的c++来说,我并不是很打怵,今天我要分享一下自己对解压和压缩的一些心得和代码!

//是对字符串的压缩和解压,因为在正常的对问件压缩和解压过程中我们是对文件夹的操作,道理是一样的!

代码如下:

#include <iostream> 
using namespace std;
string myZIP(string str);


string myZIP(string str)
{
string zip; //"aaaabbndaa"压缩后a4b2nda2
int  n = 1;
for(int i=0;i<str.length();i++)
{
if(str[i]==str[i+1])
{
n++;
}
else
{
//int convert to string
char tmp[5] ;
sprintf(tmp,"%d",n);
string str_n = tmp;
zip += str[i];
if(n!=1)
zip += str_n;
n = 1;
}

}
return zip;
}
int main()
{
string str = "aaaabbndaa";//压缩后a4b2nda2
cout<<myZIP(str)<<endl;
return 0;
}

猜你喜欢

转载自blog.csdn.net/Wangguanxi199312/article/details/80368466