Cの実装-2つのファイルの文字を新しいファイルにマージします(詳細)

前に書く(インポート)

       必ず前にプログラムを実行してください:「デスクトップに3つのテキストドキュメントを作成する」、A、B、Cという名前。もちろん、プログラム実行エラーを回避するために、ファイルを開く相対パスを変更したり、次のプログラムの「fopen( "A.txt"、 "r")」のファイルA.txtのパスを自分で変更したりすることもできます。 。

コード

        アイデア:最初に各ファイルの要素を取得して文字配列に格納し、次に配列をマージして、最後に要素をファイルに書き込みます。(プログラムには詳細な注釈が付けられており、ここでは繰り返されません)

//导入头文件
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//主函数
int main(){
    FILE *fa,*fb,*fc;//定义3个文件指针,指向文件 A、B、C 
    int i,j,k;//控制循环 
    char str[100],str1[100];
    //判断文件 A 是否存在 
    if((fa=fopen("A.txt","r"))==NULL){
        printf("文件A不存在!\n");
        exit(0);
    }
    fgets(str,99,fa);//存储A内容到数组 str 中 
    fclose(fa);//关闭文件A 
    //判断文件 B 是否存在 
    if((fb=fopen("B.txt","r"))==NULL){
        printf("文件B不存在!\n");
        exit(0);
    }
    fgets(str1,100,fb);//存储A内容到数组 str1 中 
    fclose(fb);//关闭文件B 
    strcat(str,str1);//将字符数组 str1 中内容存储到字符数组 str 中     
    //判断文件 C 是否存在 
    if((fc=fopen("C.txt","w"))==NULL){
        printf("文件C不存在!\n");
        exit(0);
    }
    fputs(str,fc);//将数组 str 中内容写到文件 C 中 
    fclose(fc);//关闭文件 C 
    printf("信息合并完成! 请到文件 C 中查看.\n");//信息提示 
    return 0;
}

実行結果(3部構成の表示)

1.ファイルAのデータ:

 

2.ファイルBのデータ

 

3.ファイルCのマージされたデータ

 (1)プログラムでは、デフォルトのファイルの場所は「ソースプログラムの保存場所またはデスクトップ」です。次に、図(2)に示すように、ファイルを開いて表示します。

(2)次の図に示すように、ファイルの内容は次のとおりです。

 

おすすめ

転載: blog.csdn.net/m0_54158068/article/details/124372769