C语言【问题描述】 编写一个程序,实现文件的复制。程序的任务是将当前目录下filecopy.in文件复制成filecopy.out。 【输入文件】 输入文件为当前目录下的filecopy.in。其内容由任意文本构成。 【输出文件】 输出文件为当前目录下的filecopy.out。 【样例输入】 若输入filecopy.in文件内容如下: hello world1!# hello world2!# hello world3!# hello world4!# 【样例输出】 输出文件filecopy.out内容为: hello world1!# hello world2!# hello world3!# hello world4!# 【样例说明】输入文件为当前目录下的filecopy.in,输出文件为当前目录下的filecopy.out。
时间: 2024-02-22 09:58:48 浏览: 50
复制文件(C语言实现)
4星 · 用户满意度95%
以下是 C 语言的代码实现:
```c
#include <stdio.h>
#define MAX_BUF_SIZE 1024
int main() {
FILE *fin, *fout;
char buffer[MAX_BUF_SIZE];
fin = fopen("filecopy.in", "r");
if (fin == NULL) {
printf("Failed to open input file.\n");
return 1;
}
fout = fopen("filecopy.out", "w");
if (fout == NULL) {
printf("Failed to create output file.\n");
fclose(fin);
return 1;
}
while (fgets(buffer, MAX_BUF_SIZE, fin) != NULL) {
fputs(buffer, fout);
}
fclose(fin);
fclose(fout);
printf("File copied successfully.\n");
return 0;
}
```
代码解释:
1. 首先,我们定义了一个常量 `MAX_BUF_SIZE`,用于存储每次读取的最大字符数。
2. 然后,我们打开输入文件 `filecopy.in`,并检查是否成功打开。如果打开失败,我们输出错误信息并返回 1。
3. 接着,我们打开输出文件 `filecopy.out`,并检查是否成功创建。如果创建失败,我们输出错误信息,关闭输入文件,然后返回 1。
4. 接下来,我们使用 `fgets()` 函数读取输入文件的内容,并将其写入输出文件中,直到读取完整个文件。
5. 最后,我们关闭输入文件和输出文件,并输出成功信息。
阅读全文