c - 在 C 中合并文本文件

标签 c file merge strcmp

我一直在尝试制作一个函数,将两个文本文件合并到一个新文件中,然后按字母顺序排序。如果我是对的,那么下面的代码应该将这两个文件组合成一个新文件 (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);
    }

最佳答案

对于每个文件,您可以考虑每个字符串,然后使用 strcmp 使用您选择的任何排序算法比较字符串,并将结果放在目标文件中。这将按字母顺序合并文件。

关于c - 在 C 中合并文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10474819/

相关文章:

通过指针和地址复制对象

c - 为什么“while(!feof(file))”总是错误的?

file - Haxe 宏 - 使用相对路径打开文件

datetime - 在R中按年份合并不同长度的数据集

git - GitHub 上实际显示的 merge 提交的差异是什么?

c - 尝试访问结构中的字符串会导致段错误

c - 为什么大小为 '0' 的 realloc 允许多次释放指针,但大小为 '0' 的 malloc 不允许?

c - 缓冲区刷新不适用于 printf 函数

java - 仅使用 Java.IO 在文件中读取/写入字节

javascript - 如何在 Javascript 中(使用 jQuery,如果可能的话)独特且高性能地合并 2 个日期数组?