用c语言编写,打开文件file1.c,file2.c,再创建file3.c,从前面的两个文件读出相应的内容,写到第三个文件中,之后关闭三个文件
时间: 2024-10-17 11:10:27 浏览: 25
在C语言中,你可以使用`fopen()`, `fclose()`, `fgets()`等函数来操作文件。以下是一个简单的示例,展示了如何打开、读取和写入多个文件:
```c
#include <stdio.h>
int main() {
FILE *file1, *file2, *file3; // 定义文件指针
// 打开文件1
if ((file1 = fopen("file1.c", "r")) == NULL) {
perror("Error opening file1");
return 1;
}
// 打开文件2
if ((file2 = fopen("file2.c", "r")) == NULL) {
perror("Error opening file2");
fclose(file1); // 关闭已经打开的file1
return 1;
}
// 创建并打开文件3(如果存在则先删除)
char filename[] = "file3.c";
remove(filename); // 删除旧文件(仅限于测试环境)
if ((file3 = fopen(filename, "w")) == NULL) {
perror("Error creating file3");
fclose(file1);
fclose(file2);
return 1;
}
// 逐行读取文件1和2的内容
char buffer[1024]; // 用于临时存储一行文本
while (fgets(buffer, sizeof(buffer), file1)) {
fputs(buffer, file3); // 写入到file3
}
rewind(file2); // 重置file2指针以便再次读取
while (fgets(buffer, sizeof(buffer), file2)) {
fputs(buffer, file3); // 再次写入到file3
}
// 关闭所有文件
fclose(file1);
fclose(file2);
fclose(file3);
printf("Files processed successfully.\n");
return 0;
}
```
这个程序首先尝试打开两个输入文件(假设它们存在),然后创建一个新的输出文件(如果之前不存在)。接着,它会读取输入文件的一行数据,将其复制到输出文件中。最后,程序确保所有打开的文件都已正确关闭。
阅读全文