#include <stdio.h>
#include <stdlib.h>
void main ()
{
FILE *fp1,*fp2,*fp3;
char ch;
char c[1001];
int num; //用于记录字母数目
int i,j,k;
fp1=fopen("F:\\learening\\A.txt","r") ; //以只读方式 打开字母文件
if(fp1==NULL)
{
printf("不能打开文件A\n");
exit(0);
}
fp2=fopen("F:\\learening\\B.txt","r") ; //以只读方式 打开字母文件
if(fp1==NULL)
{
printf("不能打开文件B\n");
exit(0);
}
//将字母文件A读入字符组C中
ch=fgetc(fp1);
i=0;
while(ch!=EOF&&ch!='\n') //EOF表示文件结尾,对于大多数操作系统而言EOF 为-1,也就是fgetc读到末尾会返回-1
{
if(i>1000) break;
c[i]=ch;
i++;
ch=fgetc(fp1);
}
k=i;
//将字母文件B读入字符组C中
ch=fgetc(fp2);
while(ch!=EOF&&ch!='\n') //EOF表示文件结尾,对于大多数操作系统而言EOF 为-1,也就是fgetc读到末尾会返回-1
{
if(i>=1000-k) break;
c[i]=ch;
i++;
ch=fgetc(fp2);
}
fclose(fp1);
fclose(fp2);
c[i]='\0'; //设置数组c[]的最后一个值
num=i-1; //记录字母数目
printf("A+B:%s\n",c);
//对数组c进行排序, 冒泡排序
for(i=0;i<=num-1;i++)
{
for(j=num;j>i+1;j--)
{
if(c[j]<c[j-1])
{
ch=c[j];
c[j]=c[j-1];
c[j-1]=ch;
}
}
}
printf("C:%s\n",c);
fp3=fopen("F:\\learening\\c.txt","w");
if(fp3==NULL)
{
printf("不能打开文件C \n");
exit(0);
}
for(i=0;i<=num;i++)
fputc(c[i],fp3);
fclose(fp3);
}