编写代码实现将一个任意大小的文件a.txt中的所有内容连冠的复制到一的新的空文本b.txt中 ,用C语言
时间: 2024-10-23 14:08:02 浏览: 7
在C语言中,你可以使用标准库函数`fopen()`、`fgets()`和`fwrite()`来实现这个功能。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h> // 用于处理文件错误
#define MAX_LINE_LENGTH 4096 // 可能需要调整以适应大文件
int main() {
FILE *input = fopen("a.txt", "r"); // 打开输入文件,"r"表示读取模式
if (input == NULL) {
perror("Error opening a.txt");
return 1;
}
FILE *output = fopen("b.txt", "w"); // 打开输出文件,"w"表示写入模式并清空文件
if (output == NULL) {
perror("Error opening b.txt");
fclose(input);
return 1;
}
char line[MAX_LINE_LENGTH]; // 存储每一行的内容
size_t len;
while ((len = fgets(line, sizeof(line), input)) > 0) { // 逐行读取直到文件结束
fwrite(line, 1, len, output); // 将内容写入输出文件
}
if (ferror(output)) {
perror("Error writing to b.txt");
fclose(input);
fclose(output);
return 1;
}
fclose(input); // 关闭输入文件
fclose(output); // 关闭输出文件
printf("Content of a.txt copied to b.txt successfully.\n");
return 0;
}
```
在这个代码里,我们首先打开两个文件:一个是输入文件`a.txt`,另一个是输出文件`b.txt`。然后,我们读取`a.txt`中的每一行,并将其内容写入`b.txt`。最后关闭文件并检查是否有任何错误。
如果你遇到问题或有其他需求,请随时告诉我。
阅读全文