C //例10.2 将一个磁盘文件中的信息复制到另一个磁盘文件中。

C程序设计 (第四版) 谭浩强 例10.2

例10.2 将一个磁盘文件中的信息复制到另一个磁盘文件中。

IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。

 

代码块
方法:使用指针,函数的模块化设计,动态分配内存
说明:这里准备先写入的文件名称为Test.txt,准备复制到Test1.txt文件中,文件都已经存在于该项目目录下,。
#include <stdio.h>
#include <stdlib.h>void initialFile(char **name1, char **name2){*name1 = (char*)malloc(80 * sizeof(char));*name2 = (char*)malloc(80 * sizeof(char));
}void inputFileName(FILE **file, char *name, int num){printf("Enter File%d Name: ", num);scanf("%s", name);char *sign = '\0';if(num == 1){sign = "r";}if(num == 2){sign = "w+";}*file = fopen(name, sign);if(*file == NULL){perror("Cannot open this file");system("pause");exit(0);}
}void inputFile(FILE **file, char *name){char ch;*file = fopen(name, "w");ch = getchar();printf("Enter String (End with EOF): ");while((ch = getchar()) != EOF){fputc(ch, *file);putchar(ch);}printf("\n");fclose(*file);
}void fileCopy(FILE **file1, FILE **file2, char *name1, char *name2){*file1 = fopen(name1, "r");char ch;ch = getchar();while(!feof(*file1)){ch = fgetc(*file1);fputc(ch, *file2);putchar(ch);}fclose(*file1);fclose(*file2);putchar(10);
}void freeFile(char **name1, char **name2){free(*name1);free(*name2);
}int main(){FILE *file1 = NULL;FILE *file2 = NULL;char *name1 = NULL;char *name2 = NULL;initialFile(&name1, &name2);inputFileName(&file1, name1, 1);inputFile(&file1, name1);inputFileName(&file2, name2, 2);fileCopy(&file1, &file2, name1, name2);freeFile(&name1, &name2);system("pause");return 0;
}
运行结果如下:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/255175.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI算力研究报告:智算供给格局分化国产化进程有望加速

今天分享的AI系列深度研究报告&#xff1a;《AI算力研究报告&#xff1a;智算供给格局分化国产化进程有望加速》。 &#xff08;报告出品方&#xff1a;华龙证券&#xff09; 报告共计&#xff1a;24页 1 大模型浪潮推动作用下,其力需求缺口将持续扩大 1.1 大模型发展对算力…

python爬虫零基础学习之简单流程示例

文章目录 爬虫基础爬虫流程常用库爬虫示例关于Python爬虫技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 爬虫基础 网络爬…

19、XSS——HTTP协议安全

文章目录 一、Weak Session IDs(弱会话IDs)二、HTTP协议存在的安全问题三、HTTPS协议3.1 HTTP和HTTPS的区别3.2 SSL协议组成 一、Weak Session IDs(弱会话IDs) 当用户登录后&#xff0c;在服务器就会创建一个会话&#xff08;Session&#xff09;&#xff0c;叫做会话控制&…

共创共赢|美创科技获江苏移动2023DICT生态合作“产品共创奖”

12月6日&#xff0c;以“5G江山蓝 算网融百业 数智创未来”为主题的中国移动江苏公司2023DICT合作伙伴大会在南京成功举办。来自行业领军企业、科研院所等DICT产业核心力量的百余家单位代表参加本次大会&#xff0c;共话数实融合新趋势&#xff0c;共拓合作发展新空间。 作为生…

软件测试基础知识

软件测试是一种评估软件质量的过程&#xff0c;通过对软件系统的功能、性能、安全性等方面进行验证&#xff0c;以确保软件能够按照预期的方式运行。 做软件测试需要具备的7种特质 1. 细致耐心 软件测试需要对细节有敏锐的观察力&#xff0c;并且需要耐心地执行大量的测试用例…

ajax+node.js+webpack+git前端过渡必学

Axios 异步的数据传输 url也称统一资源定位符 黑马接口&#xff1a; 注册账号 - AJAX阶段 (apifox.com) 任何标签.classlist.add(name)为添加标签

uniapp实战 —— 自适配高度的可滚动区域(scroll-view的使用技巧)

自定义的顶部导航栏&#xff0c;可参考博文 https://blog.csdn.net/weixin_41192489/article/details/134852124 如图可见&#xff0c;在页面滚动过程中&#xff0c;顶部导航栏和底栏未动&#xff0c;仅中间的内容区域可滚动。 整个页面的高度设置为 100%&#xff0c;并采用 …

快速认识,前端必学编程语言:JavaScript

JavaScript是构建Web应用必学的一门编程语言&#xff0c;也是最受开发者欢迎的热门语言之一。所以&#xff0c;如果您还不知道JavaScript的用处、特点的话&#xff0c;赶紧补充一下这块基础知识。 JavaScript 是一种高级、单线程、垃圾收集、解释或即时编译、基于原型、多范式…

激光切割机的激光切割头保养秘诀

激光切割头是光纤激光切割机的重要组件之一&#xff0c;激光切割头的寿命长短不仅影响激光切割机的加工效率&#xff0c;还与工厂的生产成本和利益密切相关。影响激光切割头使用寿命的问题有很多种&#xff0c;这其中对激光切割头影响最大的就是内部结构光学镜片的污染损坏。 激…

python爬虫来抓取闲鱼二手机信息,小赚一笔

虽然海鲜市场现在已经不如以前了&#xff0c;但是还是可以捡漏的&#xff0c;省钱也是赚钱&#xff0c;最近正好有换机的准备&#xff0c;每天刷来刷去的浪费了好多时间&#xff0c;也会进入选择困难症。 参考了一些大神的思路写法&#xff0c;写了个简单抓取指定需求的爬虫代码…

开源MES/免费MES/开源MES生产流程管理

一、什么是MES生产管理流程 生产管理系统&#xff08;又称制造执行系统&#xff09;是一种集成了计划、生产、质量控制、库存管理和材料申请等生产流程的管理系统。工厂生产管理流程是企业中实现高效生产的重要一环。 二、工厂生产管理流程的步骤 步骤一&#xff1a;计划和排…

测试工程师必须要知道的单元测试框架Junit详解

作为一名测试工程师&#xff0c;相信你或多或少的接触过单元测试&#xff0c;对于测试来讲它是一门能够区分专业开发人员与业余开发人员的重要学科&#xff0c;这篇文章将对java中最常见的一个单元测试框架junit进行一个梳理和讲解。如果你之前没接触过&#xff0c;那么就通过这…