C语言 ——— 编写代码,将一个文件的内容拷贝到另一个文件

目录

题目要求

代码思路

代码实现


题目要求

在当前目录中创建一个 data1.txt 文件,并存储一些内容

再将 data1.txt 文件的内容拷贝到 data2.txt 文件中


代码思路

以读的形式打开 data1.txt 文件,再以写的方式打开 data2.txt 文件,并且分别判断是否成功打开

成功打开后,利用 fgetc 函数依次读取 data1.txt 文件中的内容,并用 fputc 函数存放入 data2.txt 文件中,直到 fgetc 读取结束

最后再关闭 data1.txt 和 data2.txt 文件


代码实现

代码演示:

复制代码
#include<stdio.h>
int main()
{
	// 以读的方式打开 "data1.txt" 文件
	FILE* pfRead = fopen("data1.txt", "r");

	// 判断是否打开成功
	if (pfRead == NULL)
	{
		perror("open file for read");
		return -1;
	}

	// 以写的方式打开 "data2.txt" 文件
	FILE* pfWrite = fopen("data2.txt", "w");
	
	// 判断是否打开成功
	if (pfWrite == NULL)
	{
		// 报错前先关闭 pfRead 文件指针
		fclose(pfRead);
		pfRead = NULL;

		perror("open file for write");
		return -1;
	}

	// 拷贝文件
	int ch = 0;
	while ((ch = fgetc(pfRead)) != EOF)
	{
		fputc(ch, pfWrite);
	}

	// 判断 pfRead 是否是遇到了文件末尾才结束
	if (feof(pfRead) != 0)
	{
		printf("拷贝成功\n");
	}
	else
	{
		printf("拷贝失败\n");
		return -2;
	}

	// 关闭文件
	fclose(pfRead);
	pfRead = NULL;
	fclose(pfWrite);
	pfWrite = NULL;

	return 0;
}

代码验证:

相关推荐
iCxhust4 小时前
Prj10--8088单板机C语言8259测试(1)
c语言·开发语言
apocelipes9 小时前
Linux c 运行时获取动态库所在路径
linux·c语言·linux编程
int型码农10 小时前
数据结构第八章(一) 插入排序
c语言·数据结构·算法·排序算法·希尔排序
学习噢学个屁12 小时前
基于STM32语音识别柔光台灯
c语言·stm32·单片机·嵌入式硬件·语音识别
XRZaaa17 小时前
常见排序算法详解与C语言实现
c语言·算法·排序算法
jie1889457586618 小时前
C++ 中的 const 知识点详解,c++和c语言区别
java·c语言·c++
彩妙不是菜喵19 小时前
算术操作符与类型转换:从基础到精通
c语言
JKHaaa21 小时前
几种简单的排序算法(C语言)
c语言·算法·排序算法
草莓熊Lotso1 天前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
KyollBM1 天前
【CF】Day75——CF (Div. 2) B (数学 + 贪心) + CF 882 (Div. 2) C (01Trie | 区间最大异或和)
c语言·c++·算法