| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 849 人关注过本帖
标题:合并两个文件
只看楼主 加入收藏
ibiancheng
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-4-3
收藏
 问题点数:0 回复次数:3 
合并两个文件

有两个磁盘文件A和B,各存放一行字母,今要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中去...

搜索更多相关主题的帖子: 文件 字母 排列 磁盘 输出 
2007-05-31 16:12
phychyday
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-5-31
收藏
得分:0 

#include<stdio.h>
#define SIZE 100
int main()
{
FILE *pFileA,*pFileB,*pFileC;
char ch,temp,array[SIZE];
int i = 0,j=0,k=0;
//文件A,B路径可以随便写,打开时记得路径就可以了
if ( (pFileA = fopen("A.txt","a+")) == NULL)
{
printf("Cannot open file strike any key exit!");

}

if ( (pFileB = fopen("B.txt","r")) == NULL)
{
printf("Cannot open file strike any key exit!");
}
/*把B的内容放到A*/
ch = fgetc(pFileB);
while ( ch != EOF )
{
fputc(ch,pFileA);
ch = fgetc(pFileB);
}

fclose(pFileA);
fclose(pFileB);

if ( (pFileA = fopen("A.txt","a+")) == NULL)
{
printf("Cannot open file strike any key exit!");

}
/*把A的内容放到缓冲数组*/
ch = fgetc(pFileA);
while ( ch != EOF)
{
array[i] = ch;
ch = fgetc(pFileA);
i++;
}
array[i] = '\0';

/*冒泡排序*/
for ( j=0; j<i-3;j++ )
{
for ( k=j+1;k<i-1;k++ )
{
if( array[j] > array[k] )
{
temp = array[j];
array[j] = array[k];
array[k] = temp;
}
}
}
// printf("%s",array);

if ( (pFileC = fopen("C.txt","w")) == NULL)
{
printf("Cannot open file strike any key exit!");

}
/*把缓冲数组内容写到C*/
for( j=0; j<i-1; j++ )
{
fputc(array[j],pFileC);
}

return 0;
}

2007-05-31 22:04
phychyday
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-5-31
收藏
得分:0 

不好意思 犯了大忌,最后没释放文件...

2007-05-31 22:15
ibiancheng
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-4-3
收藏
得分:0 

谢谢了,我回去好好研究下.


执著的信念,坚定的自信,勤奋的努力才是通向成功的捷径! !!
2007-06-01 16:12
快速回复:合并两个文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015288 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved