用c语言编写作业: 利用文件IO的知识,将一个文件信息赋值到另外一个文件上,用代码实
时间: 2024-09-08 14:03:04 浏览: 68
基于C语言实现简化版pl0语言写一个编译器(编译原理)【100012209】
在C语言中,可以使用标准的文件I/O函数`fopen`, `fread`, `fwrite`, `fclose`等来实现文件内容的复制。以下是一个简单的示例代码,用于将一个文件的内容复制到另一个文件:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *sourceFile, *destFile;
char buffer[1024]; // 用于临时存储读取的内容
size_t bytesRead;
// 打开源文件和目标文件
sourceFile = fopen("source.txt", "rb"); // 以二进制读模式打开源文件
if (sourceFile == NULL) {
perror("打开源文件失败");
return 1;
}
destFile = fopen("destination.txt", "wb"); // 以二进制写模式打开目标文件
if (destFile == NULL) {
perror("打开目标文件失败");
fclose(sourceFile);
return 1;
}
// 读取源文件并写入目标文件
while ((bytesRead = fread(buffer, 1, sizeof(buffer), sourceFile)) > 0) {
fwrite(buffer, 1, bytesRead, destFile);
}
// 关闭文件
fclose(sourceFile);
fclose(destFile);
printf("文件复制完成。\n");
return 0;
}
```
这段代码首先尝试打开名为`source.txt`的源文件用于读取,以及名为`destination.txt`的目标文件用于写入。如果文件无法打开,会打印错误信息并退出程序。如果文件成功打开,程序会进入一个循环,使用`fread`函数从源文件中读取数据到`buffer`中,然后使用`fwrite`函数将数据写入目标文件。循环会一直执行直到`fread`返回的`bytesRead`为0,这表示源文件的末尾已经到达。最后,关闭两个文件并打印一条完成消息。
阅读全文