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;
}

代码验证:

相关推荐
邹诗钰-电子信息工程2 小时前
嵌入式自学第二十二天(5.15)
c语言
范纹杉想快点毕业5 小时前
以项目的方式学QT开发(一)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
c语言·数据结构·c++·git·qt·链表·github
xueyinan5 小时前
小刚说C语言刷题—1088求两个数M和N的最大公约数
c语言
王RuaRua7 小时前
[数据结构]7. 堆-Heap
c语言·数据结构·算法·链表
似水এ᭄往昔9 小时前
【数据结构】——队列
c语言·数据结构·c++·链表
水水沝淼㵘9 小时前
嵌入式开发学习日志(数据结构--双链表)Day21
c语言·数据结构·学习·算法·排序算法
czxyvX10 小时前
023-C语言预处理详解
c语言
夜晚中的人海11 小时前
【C语言】初阶数据结构相关习题(二)
c语言·开发语言·数据结构
范纹杉想快点毕业13 小时前
以项目的方式学QT开发(三)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
c语言·开发语言·c++·qt·mysql·算法·命令模式
敲代码的瓦龙13 小时前
STL?list!!!
c语言·开发语言·数据结构·c++·windows·list