C语言经典例题100例——C语言练习实例99解答(把两个txt文件合并输出到新的txt文件)

作者(出处):百宝箱工作室发布时间:2017年10月6日 14:16:07查阅量:41

题目:有两个磁盘文件A.txt和B.txt,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C.txt中。

程序分析:需要先创建A.txt与B.txt。

程序源代码:

// 百宝箱工作室官方网址 http://www.baibaox.com
// 百宝箱工作室业务介绍 http://www.baibaox.com/BusinessIntroduction.html

#include<stdio.h>
#include<stdlib.h>
main()
{
    FILE*fa,*fb,*fc;
    int i,j,k;
    char str[100],str1[100];
    char tem;
    if((fa=fopen("A.txt","r"))==NULL) // A.txt 文件需要存在
    {
        printf("error: cannot open A file!\n");
        exit(0);
    }
    fgets(str,99,fa);
    fclose(fa);
    if((fb=fopen("B.txt","r"))==NULL)  // B.txt 文件需要存在
    {
        printf("error: cannot open B file!\n");
        exit(0);
    }
    fgets(str1,100,fb);
    fclose(fb);
    strcat(str,str1);
    for(i=strlen(str)-1;i>1;i--)
    {
        for(j=0;j<i;j++)
	{
            if(str[j]>str[j+1])
            {
                tem=str[j];
                str[j]=str[j+1];
                str[j+1]=tem;
            }
	}
    }
    if((fc=fopen("C.txt","w"))==NULL)  // 合并为 C.txt
    {
        printf("error: cannot open C file!\n");
        exit(0);
    }
    fputs(str,fc);
    fclose(fc);
    system("pause");
}
百宝箱网络工作室  版权所有  
站长QQ:1617818397  站长E-mail:1617818397@qq.com
Powered by www.baibaox.com  Copyright © 2011-2018
点击这里给我发消息  
若本文对您有帮助,请扫码打赏,您的赞助就是最好的动力