用C语言解决文件合并问题
题目一:文件合并问题
(1)问题描述
有两个磁盘文件A和B,各存放一串字母,要求把这两个文件中的信息合并,输出到一个新文件C中。
(2)算法分析
在.cpp所在的文件夹里建立A.doc和B.doc,并向其中输入字母,再编写一个用于输出文件内容的程序,将文件信息合并。
(3)源代码
磁盘文件A:
#include <stdio.h>
void main( )
{ FILE *fp; /* 定义一个文件指针变量fp */
int c; /* c为存放字符的变量 */
char filename[40]; /* filename用于存放数据文件名 */
printf("filename: ");/* 提示输入磁盘文件名 */gets(filename); if ((fp=fopen(filename,"w"))==NULL){ printf("Can't open the %s\n", filename); return;}while ((c=getchar( ))!=EOF) /*键盘文件结束标志:输入Ctrl+z,显示^Z后回车*/putc(c, fp); /* 将键盘输入的字符写到文件中*/fclose(fp); /* 建立文件结束,关闭文件 */
printf("outfile:\n");fp=fopen(filename,"r"); /* 以读方式打开文本文件 */while ((c=getc(fp))!=EOF) /* 未读到文件结束标志时 */putchar(c); /* 在显示器显示读出的字符 */fclose(fp); /* 读文件结束,关闭文件 */}
磁盘文件B:
#include <stdio.h>
void main( )
{ FILE *fp; /* 定义一个文件指针变量fp */
int c; /* c为存放字符的变量 */
char filename[40]; /* filename用于存放数据文件名 */
printf("filename: ");/* 提示输入磁盘文件名 */gets(filename); if ((fp=fopen(filename,"w"))==NULL){ printf("Can't open the %s\n", filename); return;}while ((c=getchar( ))!=EOF) /*键盘文件结束标志:输入Ctrl+z,显示^Z后回车*/putc(c, fp); /* 将键盘输入的字符写到文件中*/fclose(fp); /* 建立文件结束,关闭文件 */
printf("outfile:\n");fp=fopen(filename,"r"); /* 以读方式打开文本文件 */while ((c=getc(fp))!=EOF) /* 未读到文件结束标志时 */putchar(c); /* 在显示器显示读出的字符 */fclose(fp); /* 读文件结束,关闭文件 */}
合并A、B文件:
#include"stdio.h"
#include"stdlib.h"
void main()
{ FILE *fp;
int i,j, n,i1;
char c[100],t,ch;
if((fp=fopen("a1","r"))==NULL)
{
printf("Can not open the file\n");
exit(0);
}
printf("\n file A:\n");
for(i=0;(ch=fgetc(fp))!=EOF;i++)
{c[i]=ch;
putchar(c[i]);
}
fclose(fp);
i1=i;
if((fp=fopen("b1","r"))=NULL)
{printf("\n Can not open the file");
exit(0);
}
printf("\n file B:\n");
for(i=i1;(ch=fgetc(fp))!=EOF;i++)
{c[i]=ch;
putchar(c[i]);
}
fclose(fp);
n=i;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(c[i]>c[j])
{t=c[i];
c[i]=c[j];
c[j]=t;
}
printf("\n file C:\n");
fp=fopen("c1","w");
for(i=1;i<n;i++)
{putc(c[i],fp);
putchar(c[i]);
}
fclose(fp);
}
运行结果:
用C语言解决文件合并问题相关推荐
- 【Git】Git 分支管理 ( 解决分支合并冲突 | 本地处理文件冲突 )
文章目录 一.本地处理文件冲突 一.本地处理文件冲突 在下面的 [Git]Git 分支管理 ( 解决分支合并冲突 | 创建并切换分支 git switch -c feature1 | 修改 featu ...
- svn 分支上新增文件合并发生冲突_SVN的使用、分支合并及解决冲突详解
一.什么是SVN SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS. 二.SVN的下载安装 安装完不要忘记重启 ...
- r语言合并多个csv文件_PDF合并怎么做?分享多个PDF文件合并的方法
PDF合并怎么做?我们在工作中经常会碰到多个散落独立的文件,当我们需要将它们整合在一起时该怎么办呢,是不是还有不少小伙伴会选择去打印店将文件打印出来再逐一校对?不用这么麻烦啦!只需要将这些PDF文件合 ...
- c语言文件合并,c++实现合并文件以及拆分实例代码
本文主要研究的是c++实现合并文件以及拆分的相关内容,分享了实现代码,具体如下. 昨天看到一篇介绍TFS的文章,大意是为了处理海量图片,采用分布式架构,将小图片合并为大的文件 兴趣驱使下,写了一个简单 ...
- java 多个pdf文件合并,解决删除提示文件被占用
多个pdf文件合并成一个pdf文件.生成过后怎么也删除不了,估计有使用到的流没关闭,手动在文件夹中也无法删除,提示文件正在被占用,但是怎么查找代码也不知道哪里的流没关闭. 最后在循环中发现了new P ...
- 怎么把多个pdf文件合并成一个?一分钟解决
当我们有多个PDF文件时,将它们合并成一个文件可以帮助您更轻松地管理和浏览文件.不必打开多个文件,只需打开一个文件就能查看所有内容.将PDF文件合并成一个文件可以帮助您更好地组织文档,以便于共享和备份 ...
- python处理多个excel文件-python多个excel文件合并成一个sheet
运营人员需要历年的订单数据,这就需要把多个文件夹下面的excel文件合并到一个sheet中,之前的解决的办法是用VBA把多个excel文件合并成一个表的多个sheet,再把多个sheet合并成一个sh ...
- excel函数去重_Java 嵌入 SPL 轻松实现 Excel 文件合并
大多数JAVA程序猿都选择使用POI或者HSSFWorkbook等第三方类库来实现Excel自动化合并,这样一来不仅需要噼里啪啦的敲好多代码,费事费力,而且用起来灵活度也不高,对Excel的格式要求也 ...
- java 语义_Java文件合并变得语义化
java 语义 与任何程序员交谈,并询问他应该如何进行合并:"它应该理解代码,对其进行解析,然后根据结构进行合并" –他很可能会说. 而这恰恰是SemanticMerge for ...
- Java文件合并变得语义化
与任何程序员交谈,并询问他应该如何进行合并:"它应该理解代码,对其进行解析,然后根据结构进行合并" –他很可能会说. 而这恰恰是SemanticMerge for Java所做的: ...
最新文章
- 苏宁零售云 App 稳定保障实践
- 关于学习Python的一点学习总结(10->设置字符串格式)
- 洛谷 - P2766 最长不下降子序列问题(最大流+动态规划+思维建边)
- Linux 下shell中exec解析
- Sharepoint学习笔记—Site Definition系列-- 2、创建Content Type
- ML.NET 示例:对象检测
- 龘(若出身在新中国我的65047777
- [转载]用数学逻辑推断三国武将排名
- 用Python告诉你,为什么宇宙的尽头是公务员!
- 学习老男孩linux全程班决心书
- 「镁客早报」传SpaceX计划展开7.5亿美元贷款融资;LG开始为苹果生产OLED面板
- 联合索引会创建几个索引_联合索引在B+树上的存储结构及数据查找方式
- Spark中使用Dataset的groupBy/agg/join/broadcast hasjoin/sql broadcast hashjoin示例(java api)
- python面向对象实例王者荣耀_python王者荣耀
- wifi显示但是没有网络连接到服务器是怎么回事,wifi连接后显示网络连接不可用怎么办?...
- html如何控制plc,PLC系统是如何控制数控机床的
- steam链接社区_如何通过Steam链接上的Xbox One控制器启用振动
- php sqlite并发访问,PHP基于文件锁实现sqlite的并发操作
- 网工解惑:何为二层交换机,它与三层交换机的区别在哪里?
- 好用的函数在线绘图工具
热门文章
- PC端视频录制软件大集合,总有一款是你喜欢的
- 移动端安卓和苹果手机背景图片显示不全的问题
- golang使用gorm出现reflect.Value.Addr of unaddressable value [recovered]
- Xib中设置view的BorderColor 及 ShadowColor
- Symbian 清除栈 CleanupStack
- 笔记本独显无输出_双显卡笔记本独显消失怎么回事|笔记本双显卡独显没了怎么解决|笔记本双显卡切换独显方法...
- Win10下WinRAR“拒绝访问”解决+获取everyone权限
- 目前淘宝客单价比较高的商品怎么引流
- Word公式居中,公式编号右对齐
- 5855. 找出数组中的第 K 大整数