txt文件的C++压缩方法



我需要在C++中创建一个计算字符串中字符数的函数,例如,当从包含以下内容的文本文件中读取时:"aaabbbbggssj"输出应该是:"3a5b2g1j">

我真的不知道该怎么办,任何帮助都将不胜感激!感谢

我的代码如下:

#include <iostream>
using namespace std;
#include "Character.h"
#include <fstream>
#include <string>
using namespace std;
int main(){
int c;
void count(char [], int []);
//opening text file
string line = " ";
fstream my_stream;
my_stream.open("information.txt");
//loop to cout occurences of each character
while (getline (my_stream,line))
{
cout << line << 'n';
c += line.length();
cout << c;
int numOfChars = line.length();
for (unsigned int i = 0; i < line.length(); i++){
}
my_stream.close();
return 0;
}

只需计算重复符号并产生结果:

string compress(string const& str) {
string result = "";
int i = 0;
while (str[i]) {
int c = 1;
while (str[i] == str[i + c]) ++c;
result += std::to_string(c) + str[i];
i += c;
}
return result;
}

相关内容

  • 没有找到相关文章

最新更新