1

2 つのテキスト ファイルをマージして新しいファイルを作成し、アルファベット順に並べ替える関数を作成しようとしています。私が正しい場合、次のコードは 2 つのファイルを新しいファイル (newcat) に結合する必要がありますが、strcmp 関数を使用して文字列をアルファベット順に「並べ替える」にはどうすればよいですか?

    void combine(FILE* cat1, FILE* cat2, FILE* newcat)
    {
       char ch;

    while((ch = fgetc(cat1)) != EOF)
       fputc(ch,newcat);

    while((ch = fgetc(cat2)) != EOF)
       fputc(ch,newcat);

    fclose (cat1);
    fclose (cat2);
    fclose (newcat);
    }
4

1 に答える 1

1

ファイルごとに各文字列を検討strcmpし、任意のソート アルゴリズムを使用して文字列を比較し、結果を宛先ファイルに配置できます。これにより、ファイルがアルファベット順にマージされます。

于 2012-06-12T05:40:57.997 に答える