C++ 读取文件并排序 急用

来源:百度知道 编辑:UC知道 时间:2024/06/01 14:54:18
我有一个文本文件,如C:\abc.txt
里面有一些内容如
11BB
33CC
ddcc
我希望把文件读取进来后并对数据进行排序。
排序后再把文件的内容输出到屏幕。
请帮忙用VC++完成,代码请写完整。

通过fread将文件读入,通过stl的sort排序,然后printf出来。

FILE* file = fopen( "c:\\abc.txt", "a+" ); // 打开文件

char buffer[1024] = {0};
fread( buffer, 1024, 1, file ); // 读文件内容

std::list<char> listchar; // 读取到链表
for ( int i = 0; i < strlen(buffer); i ++ )
{
listchar.push_back(buffer[i]);
}

std::sort(listchar.begin(), listchar.end()); // 排序

printf( "Result: %s\n", buffer ); // 打印

#include <string>
#include <fstream>
#include <algorithm>
#include <iterator>
#include <multiset>
using namespace std;

int main()
{
ifstream in("yourfile");
multiset<string> s;
while (in) {
string line;
getline(in, line);
s.insert(line);
}
copy(s.begin(), s.end(), ostream_iterator<string>(cout, "\n"));