10.4 合并两个文件数据到一个文件中并排序
作者:互联网
//建立三个文件,将2文件的内容加到1文件中,
//考虑到排序,应设一个数组,先将合并后的文件保存下来,再以排序算法排序。
//排完序后将数据写入合并的文件中
#include<stdio.h>
#include<string.h>
void sort(char*c)//排序函数
{
int i, j;
int n = strlen(c);
for (i = 0; i < n; i++)
for (j = i + 1; j < n; j++)
if (c[i] > c[j])
{
char tmp = c[i];
c[i] = c[j];
c[j] = tmp;
}
}
int main()
{
FILE* pf1 = fopen("D:\\文件\\文件\\文件1.txt", "r");
if (pf1== NULL)
{
perror("fopen");
return -1;
}
FILE* pf2 = fopen("D:\\文件\\文件\\文件2.txt", "r");
if (pf2== NULL)
{
perror("fopen");
return -1;
}
FILE* pf = fopen("D:\\文件\\文件\\合并文件.txt", "w");
if (pf == NULL)
{
perror("fopen");
return -1;
}
char c[500] = { 0 };
fgets(c, 500, pf1);//从pf1文件中读数据
int len = strlen(c);//得到c的长度
fgets(c + len, 500, pf2);//从pf1文件读取数据放pf2后
sort(c);
fputs(c, pf);//将排序后的c写入pf中
fclose(pf1);
fclose(pf2);
fclose(pf);
pf1 = NULL;
pf2 = NULL;
pf = NULL;
return 0;
}
标签:文件,fopen,10.4,NULL,pf1,pf2,pf,排序 来源: https://blog.csdn.net/zyyy456123/article/details/120579819