【2022年研究生入学考试中国海洋大学930大题答案】编程题2:有两个文件,让用户输入这两个文件的名称,然后将第一个文件的数据复制到第二个文件中。(10分) 科目:程序设计基础

题目

本题是中国海洋大学2022年研究生入学考试930程序设计基础编程题第2题。
题目:
有两个文件,让用户输入这两个文件的名称,然后将第一个文件的数据复制到第二个文件中。(10分)


以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj。QQ:2394799692

一、解题思路

1,先定义两个字符数组用于接收两个文件名
2,分别用两个FILE*定义两个文件指针
3,fopen函数打开两个文件,第一个用r读方式,第二个用w写方式
4,判断文件打开是否有误
5,while循环+文件读取与输出函数进行文件复制
6,关闭这两个文件

二、代码部分

1.引入库

代码如下(示例):

#include<stdio.h>

2.主函数部分

代码如下(示例):

void main()
{
	char s1[20], s2[20];
	printf("请输入两个文件名,第一个是被复制文件,第二个是要复制到的文件:\n");
	gets(s1);
	gets(s2);
	FILE* fp1 = fopen(s1, "r");
	if (fp1 == NULL)
	{
		printf("open f1 erro!");
		return -1;
	}
	FILE* fp2 = fopen(s2, "w");
	if (fp2 == NULL)
	{
		printf("open f2 erro!");
		return -1;
	}
	char c;
	while ((c = getc(fp1)) != EOF)
	{
		putc(c, fp2);
	}
	fclose(fp1);
	fclose(fp2);
}

三、执行结果

复制之前:
文件1:

你好啊,祝你取得良好成绩!
2022年一战成硕!
立志冲海大2394799692

文件2:


【2022年研究生入学考试中国海洋大学930大题答案】编程题2:有两个文件,让用户输入这两个文件的名称,然后将第一个文件的数据复制到第二个文件中。(10分) 科目:程序设计基础
复制之后:
【2022年研究生入学考试中国海洋大学930大题答案】编程题2:有两个文件,让用户输入这两个文件的名称,然后将第一个文件的数据复制到第二个文件中。(10分) 科目:程序设计基础

四、个人感想

难易程度:中等
while循环一块文件复制的核心代码有点难以想象,特别是文件读取和输出的一些函数,这一点我把那个EOF错写成\0了,可能会扣个一两分。

上一篇:《POSIX多线程程序设计》笔记(2)作者自己写的两个调试宏函数源码


下一篇:【C语言程序设计第四版】例12-3代码