| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 594 人关注过本帖
标题:恳求大家一个问题 望高手指点 不胜感激
只看楼主 加入收藏
许大牛
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2010-2-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
恳求大家一个问题 望高手指点 不胜感激
用C语言从两个数据文件中读取数据,然后将这两个数据文件中的数据相加,结果输入到一个新的文件中。
请教了!不胜感激!!!
搜索更多相关主题的帖子: 恳求 感激 
2010-02-03 18:03
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
新建一个文件
打开一个文件,读入缓冲,并写到新文件中,关闭这个件
再打开另一个文件,读入缓冲,并写到新文件中,关闭这两个文件.

★★★★★为人民服务★★★★★
2010-02-03 18:24
许大牛
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2010-2-3
收藏
得分:0 
感谢!!!
麻烦能给下源程序不?我试着编了一下,但是总是不对!!郁闷啊!!!
2010-02-03 18:51
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
收藏
得分:20 
回复 3楼 许大牛
主要代码,没有做任何出错处理。读文in1.txt和in2.txt数学相加输出到out.txt:
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
    FILE *fin1 = fopen ("in1.txt", "r");
    FILE *fin2 = fopen ("in2.txt", "r");
    FILE *fout = fopen ("out.txt", "w");
   
    int a, b;
    fscanf (fin1, "%d", &a);
    fscanf (fin2, "%d", &b);
    fprintf (fout, "%d\n", a+b);
    exit(0);
}
另一个意思,把两文件的数据内容合并,可以把上面代码改成下面。
代码是:
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
    FILE *fin1 = fopen ("in1.txt", "r");
    FILE *fin2 = fopen ("in2.txt", "r");
    FILE *fout = fopen ("out.txt", "w");
   
    int ch;
    while ((ch = fgetc(fin1))!= EOF)
    {
    fputc(ch, fout);
    }
    while ((ch = fgetc(fin2))!= EOF)
    {
    fputc(ch, fout);
    }   

    exit(0);
}
详细文件在附件中。只有第一个。
fsum.rar (5.89 KB)


[ 本帖最后由 playmyself 于 2010-2-3 23:07 编辑 ]

无聊创造奇迹。
2010-02-03 22:19
许大牛
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2010-2-3
收藏
得分:0 
好的!简洁明了!!但是要是数据文件中数据的个数不知道,那怎么弄呢?
2010-02-04 18:23
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
收藏
得分:0 
fscanf (fin1, "%d", &a);//如果是这种读法,他会读到第一个不是数字的字符为止。(第一个字符得是数字)
while ((ch = fgetc(fin1))!= EOF) //如果这样读,他一定会读到文件结尾。
{
fputc(ch, fout);
}
可以考虑用比较大的数组读入所有数据,然后进行处理。主要代码如下:
#define MAX 5000000    //要读的大小
static char str[MAX];    //建立数组
fgets(str, MAX, fin1);    //以串方式从fin1中读入MAX个字符放到str里。如果字符小于MAX到EOF(文件结尾)停止。

[ 本帖最后由 playmyself 于 2010-2-5 09:11 编辑 ]

无聊创造奇迹。
2010-02-05 09:09
快速回复:恳求大家一个问题 望高手指点 不胜感激
数据加载中...
 
   



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

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