将一个文件另存为另一个文件并显示两个文件内容用c语言
时间: 2024-03-10 17:46:25 浏览: 24
可以使用C语言中的文件操作函数来实现将一个文件另存为另一个文件并显示两个文件内容的功能。具体实现步骤如下:
1. 打开源文件和目标文件,可以使用fopen()函数来打开文件。例如:
```c
FILE *src_file = fopen("source.txt", "r");
FILE *dst_file = fopen("destination.txt", "w");
```
2. 读取源文件中的内容并写入目标文件,可以使用fread()和fwrite()函数来读写文件。例如:
```c
char buffer[1024];
size_t size;
while ((size = fread(buffer, 1, sizeof(buffer), src_file)) > 0) {
fwrite(buffer, 1, size, dst_file);
}
```
3. 关闭源文件和目标文件,可以使用fclose()函数来关闭文件。例如:
```c
fclose(src_file);
fclose(dst_file);
```
4. 打开目标文件和源文件,读取并显示它们的内容。例如:
```c
FILE *dst_file = fopen("destination.txt", "r");
FILE *src_file = fopen("source.txt", "r");
char dst_buffer[1024];
char src_buffer[1024];
while (fgets(dst_buffer, sizeof(dst_buffer), dst_file) != NULL) {
printf("Destination: %s", dst_buffer);
}
while (fgets(src_buffer, sizeof(src_buffer), src_file) != NULL) {
printf("Source: %s", src_buffer);
}
```
5. 关闭目标文件和源文件,可以使用fclose()函数来关闭文件。例如:
```c
fclose(dst_file);
fclose(src_file);
```
完整代码示例:
```c
#include <stdio.h>
int main() {
FILE *src_file = fopen("source.txt", "r");
FILE *dst_file = fopen("destination.txt", "w");
char buffer[1024];
size_t size;
while ((size = fread(buffer, 1, sizeof(buffer), src_file)) > 0) {
fwrite(buffer, 1, size, dst_file);
}
fclose(src_file);
fclose(dst_file);
FILE *dst_file2 = fopen("destination.txt", "r");
FILE *src_file2 = fopen("source.txt", "r");
char dst_buffer[1024];
char src_buffer[1024];
while (fgets(dst_buffer, sizeof(dst_buffer), dst_file2) != NULL) {
printf("Destination: %s", dst_buffer);
}
while (fgets(src_buffer, sizeof(src_buffer), src_file2) != NULL) {
printf("Source: %s", src_buffer);
}
fclose(dst_file2);
fclose(src_file2);
return 0;
}
```