标题:如何实现文件的分解
只看楼主
bbsky120
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-3-19
结帖率:0
已结贴  问题点数:20 回复次数:3 
如何实现文件的分解
将一段完整的文字被拆成两部分分别存放在file06_1.txt和file06_2.txt文件中。请写程序将此2个文件中的文本存放到myfile.txt中,使之重新成为一段完整的文本。
要求:
至少有“读取第一部分并显示”、“读取第二部分并显示”、“生成新文件”、“退出”四个菜单。
搜索更多相关主题的帖子: 文件 分解 
2010-03-19 21:20
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
得分:6 
又是作业题吧?

★★★★★为人民服务★★★★★
2010-03-19 21:36
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:6 
其实很简单。
写一个读取模块,读取指定文件。
while(!fin.eof)读取就可以了。
返回读取数据。
分别读取1,2文件。存入s1,s2,最后在输出到3文件。。
2010-03-19 23:51
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
得分:6 
#include <stdio.h>
#include <stdlib.h>
#define FILE1    "file06_1.txt"
#define FILE2    "file06_2.txt"
#define MYFILE    "myfile.txt"
#define MAXLINE  1024
void ReadFile(char *filename)
{
    FILE *fp;
    int n;
    char buf[MAXLINE];
    if ((fp = fopen(filename, "r+")) == NULL)
    {
        printf("open %s error!", filename);
        return;
    }
    while(n = fread(buf,1, MAXLINE-1, fp))
    {
        buf[n] = 0;
        printf("%s", buf);
    }
    fclose(fp);
}
void CreateFile(char *file1, char *file2, char *filename)
{
    FILE *fp, *fpt;
    char buf[MAXLINE];
    int n;
    if ((fp = fopen(filename, "w+")) == NULL)
    {
        printf("open %s error!", filename);
        return;
    }
    if ((fpt = fopen(file1, "r")) == NULL)
    {
        printf("open %s error!", file1);
        fclose(fp);
        return;
    }
    while(n = fread(buf,1, MAXLINE, fpt))
    {
        fwrite(buf, 1, n, fp);
    }
    fclose(fpt);

    if ((fpt = fopen(file2, "r")) == NULL)
    {
        printf("open %s error!", file2);
        return;
    }
    fwrite("\n", 1, 1, fp);

    while(n = fread(buf,1, MAXLINE, fpt))
    {
        fwrite(buf, 1, n, fp);
    }
    fclose(fpt);
    fclose(fp);
}
void Proc(void)
{
    char c;
    c = getchar();
    switch(c)
    {
    case '1':
        ReadFile(FILE1);
        break;
    case '2':
        ReadFile(FILE2);
        break;
    case '3':
        CreateFile(FILE1, FILE2, MYFILE);
        ReadFile(MYFILE);
        break;
    case '4':
        exit(0);
    default:
        printf("Undefine!\n");
    }
}
int main(void)
{
    while (1)
    {
        system("cls");
        printf("1.读取第一部分并显示\n");
        printf("2.读取第二部分并显示\n");
        printf("3.生成新文件\n");
        printf("4.退出\n");
        Proc();
        getchar();
        while(getchar() != '\n');
    }
}
2010-03-20 00:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-299932-1-1.html




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

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