#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void createMyFile(char file[], char data[]); //输入文本信息并保存到指定文件中
int getFileLen(char file[]);
void readFileToBuf(char data[], char file1[], int fileNum1, char file2[], int fillNum2);
void sortBuf(char data[], int fileNum);
void saveBuf(char file[], char data[]);
void main()
{
char fileA[] = "qw.txt";
char fileB[] = "er.txt";
char fileC[] = "ty.txt";
int fileNum1 = 0;
int fileNum2 = 0;
char data[100] = {' ', 1000};
createMyFile(fileA, "fdsgfdsa");
createMyFile(fileB, "ghyku");
fileNum1 = getFileLen(fileA);
cout<<fileNum1<<endl;
fileNum2 = getFileLen(fileB);
cout<<fileNum2<<endl;
readFileToBuf(data, fileA, fileNum1, fileB, fileNum2);
cout<<data<<endl;
sortBuf(data, fileNum1 + fileNum2);
cout<<data<<endl;
saveBuf(fileC, data);
}
//----------------------
void createMyFile(char file[], char data[])
{
ofstream fout;
fout.open(file);
fout<<data;
}
int getFileLen(char file[])
{
int num = 0;
ifstream fin;
fin.open(file);
if(fin.is_open)
{
fin.seekg(0, ios_base::end);
num = fin.tellg();
}else
{
cout<<"打开文件错误"<<endl;
}
return num;
}
void readFileToBuf(char data[], char file1[], int fileNum1, char file2[], int fillNum2)
{
ifstream fin;
fin.open(file1);
for(int i=0; i<fileNum1; i++)
{
data[i] = fin.get();
fin.seekg(i+1);
}
fin.close();
fin.open(file2);
for(i=0; i<fillNum2; i++)
{
data[i+fileNum1] = fin.get();
fin.seekg(i+1);
}
fin.close();
}
void sortBuf(char data[], int fileNum)
{
char ctemp;
for(int i=0; i<fileNum; i++)
{
for(int j=i; j<fileNum; j++)
{
if(data[i] > data[j])
{
ctemp = data[i];
data[i] = data[j];
data[j] = ctemp;
}
}
}
}
void saveBuf(char file[], char data[])
{
ofstream fout;
fout.open(file);
fout<<data<<endl;
}
纯手写的代码,希望能给楼主起到作用。如果还有什么不懂的可以联系我。QQ:604828651