m0_74115660 2023-01-06 16:41 采纳率: 100%
浏览 13
已结题

编写一个程序来拼接文件

编写一个名为fcat的程序,通过把任意数量的文件写到标准输出中而把这些文件一个接一个地“排接”起来,并且文件之间没有间隙。例如,下列命令将在屏幕上显示文件f1.c,f2.c,f3.c
fcat f1.c,f2.c,f3.c

如果任何文件都无法打开,那么程序fcat 应该发出出错消息。提示:因为每次只可以打开一个文件,所以程序fcat只需要一个文件指针变量。 一旦对一个文件完成操作,程序fcat在打开下一 一个文件时可以使用同一个文件指针变量。

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2023-01-06 16:52
    关注

    以下是 C 语言代码实现,望采纳。

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char* argv[]) {
        if (argc < 2) {
            printf("用法:fcat 文件名1 文件名2 …\n");
            return 1;
        }
    
        for (int i = 1; i < argc; i++) {
            char* file_name = argv[i];
            FILE* fp = fopen(file_name, "r");
            if (fp == NULL) {
                fprintf(stderr, "无法打开文件 %s\n", file_name);
                return 1;
            }
    
            int c;
            while ((c = getc(fp)) != EOF) {
                putchar(c);
            }
            fclose(fp);
        }
    
        return 0;
    }
    

    这个程序使用命令行参数来指定文件名,例如:

    fcat file1.txt file2.txt file3.txt
    

    程序会依次打开每个文件,并把它们的内容输出到标准输出中。如果有任何文件无法打开,程序会发出出错消息。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月14日
  • 已采纳回答 1月6日
  • 创建了问题 1月6日

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算