文件复制程序

CCBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将创建一个 C 程序,将一个文件的内容复制到另一个文件中。我们将从源文件中读取内容,并将其写入目标文件。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("`C`")) -.-> c/BasicsGroup(["`Basics`"]) c(("`C`")) -.-> c/ControlFlowGroup(["`Control Flow`"]) c(("`C`")) -.-> c/FileHandlingGroup(["`File Handling`"]) c(("`C`")) -.-> c/UserInteractionGroup(["`User Interaction`"]) c/BasicsGroup -.-> c/variables("`Variables`") c/ControlFlowGroup -.-> c/if_else("`If...Else`") c/ControlFlowGroup -.-> c/while_loop("`While Loop`") c/FileHandlingGroup -.-> c/write_to_files("`Write To Files`") c/FileHandlingGroup -.-> c/create_files("`Create Files`") c/FileHandlingGroup -.-> c/read_files("`Read Files`") c/UserInteractionGroup -.-> c/output("`Output`") subgraph Lab Skills c/variables -.-> lab-123311{{"`文件复制程序`"}} c/if_else -.-> lab-123311{{"`文件复制程序`"}} c/while_loop -.-> lab-123311{{"`文件复制程序`"}} c/write_to_files -.-> lab-123311{{"`文件复制程序`"}} c/create_files -.-> lab-123311{{"`文件复制程序`"}} c/read_files -.-> lab-123311{{"`文件复制程序`"}} c/output -.-> lab-123311{{"`文件复制程序`"}} end

文件结构

创建一个名为 main.c 的 C 文件。该文件将包含程序逻辑。

包含必要的库

我们需要在程序中包含 stdio.h 库以处理文件操作。

#include <stdio.h>

声明文件指针

我们需要声明两个文件指针,一个用于源文件,另一个用于目标文件。

FILE *fp1, *fp2;

打开源文件

我们需要以读取模式打开源文件。如果文件无法打开,我们将打印错误信息并退出程序。

if ((fp1 = fopen("source.txt", "r")) == NULL) {
    printf("\nFile cannot be opened.");
    return;
}

打开目标文件

我们需要创建并以写入模式打开目标文件。

fp2 = fopen("destination.txt", "w");

复制文件内容

我们将逐字符读取源文件,并将其写入目标文件,直到文件结束。

char ch;
while ((ch = fgetc(fp1)) != EOF) {
    fputc(ch, fp2);
}

关闭文件

在复制内容后,我们需要关闭这两个文件。

fclose(fp1);
fclose(fp2);

总结

在本实验中,我们学习了如何读取一个文件的内容并将其写入另一个文件。我们使用了 fopen() 函数来打开文件,并使用 fgetc()fputc() 函数来读取和写入文件内容。完成任务后,使用 fclose() 函数关闭文件是非常重要的。

您可能感兴趣的其他 C 教程