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

代码验证:

相关推荐
GoWjw1 小时前
在C&C++中结构体的惯用方法
c语言·开发语言·c++
fufu03111 小时前
Linux环境下的C语言编程(四十三)
linux·c语言·算法
Darken034 小时前
基于C语言的学习---if语句
c语言·学习·if语句
json{shen:"jing"}5 小时前
2-C语言的运算符和表达式
c语言·开发语言
沪漂的码农6 小时前
UDS诊断物理层时间参数详解技术文章
c语言·can·uds
黎雁·泠崖6 小时前
【C语言指针精讲】从内存到运算,吃透指针核心逻辑
c语言·开发语言
秦苒&6 小时前
【C语言指针四】数组指针变量、二维数组传参本质、函数指针变量、函数指针数组
c语言·开发语言·c++·c#
程序员zgh7 小时前
代码重构 —— 读后感
运维·c语言·开发语言·c++·重构
无限进步_8 小时前
【C语言】队列(Queue)数据结构的实现与分析
c语言·开发语言·数据结构·c++·算法·链表·visual studio
superman超哥8 小时前
仓颉语言中网络套接字封装的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉