首页 > 解决方案 > 如何对二进制文件进行排序?

问题描述

我很难解决一种简单的任务。该任务的目标是将两个二进制文件合并为第三个,并在第三个文件之后按降序排序。生成的文件将如下所示:

52,爸爸

34,悲伤

98,达达

22、阿斯达斯

我必须按数字降序对所有这些行进行排序。请至少有人可以告诉如何实现这一点。我需要什么算法来解决问题,或者帮助我开始需要什么。我将不胜感激!

int main(){

    ofstream ofs("f3", ofstream::binary);
    ifstream ifs;

    ifs.open("f1", ifstream::binary);
    ifs.seekg (0, ifs.end);
    int len = ifs.tellg();
    ifs.seekg (0, ifs.beg);

    char * buffer = new char [len];
    ifs.read(buffer, len);
    ofs.write(buffer, len);
    ifs.close();
    delete[] buffer;

    ifs.open("f2", ifstream::binary);
    ifs.seekg (0, ifs.end);
    len = ifs.tellg();
    ifs.seekg (0, ifs.beg);

    buffer = new char [len];
    ifs.read(buffer, len);
    ofs.write(buffer, len);
    ifs.close();
    delete[] buffer;
}

标签: c++binaryfiles

解决方案


推荐阅读