c语言

c语言怎么实现文件复制

小亿
302
2023-10-31 09:25:15
栏目: 编程语言

在C语言中,可以使用标准库函数来实现文件的复制。下面是一个基本的示例代码:

```c

#include

#define BUFFER_SIZE 4096

int main() {

    FILE *sourceFile, *targetFile;

    char buffer[BUFFER_SIZE];

    sourceFile = fopen("source.txt", "rb"); // 打开源文件(以二进制模式读取)

    if (sourceFile == NULL) {

        printf("无法打开源文件。\n");

        return 1;

    }

    targetFile = fopen("target.txt", "wb"); // 打开目标文件(以二进制模式写入)

    if (targetFile == NULL) {

        printf("无法创建目标文件。\n");

        fclose(sourceFile);

        return 1;

    }

    while (fread(buffer, sizeof(char), BUFFER_SIZE, sourceFile) > 0) { // 从源文件读取数据

        fwrite(buffer, sizeof(char), BUFFER_SIZE, targetFile); // 将数据写入目标文件

    }

    printf("文件复制成功。\n");

    fclose(sourceFile);

    fclose(targetFile);

    return 0;

}

```

以上示例中,我们使用了`fopen()`函数来打开源文件和目标文件,并指定了相应的文件名和访问模式("rb"表示以二进制

模式读取文件,"wb"表示以二进制模式写入文件)。

然后,我们使用一个循环来不断从源文件中读取数据,并将读取到的数据写入目标文件中。这里使用了`fread()`函数从源

文件中读取数据,并使用`fwrite()`函数将数据写入目标文件。

最后,通过`fclose()`函数关闭源文件和目标文件,释放资源。

请确保在运行代码之前,已经创建了一个名为"source.txt"的源文件。执行该代码后,将会生成一个名为"target.txt"的目

标文件,内容与源文件相同。

0
看了该问题的人还看了