| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1029 人关注过本帖
标题:为什么不对啊 大侠们教教我 关于文件
只看楼主 加入收藏
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:0 
# include <stdio.h>
# include <stdlib.h>

FILE *write(char name)
{
    char ch;
    FILE *fp;
    if((fp=fopen("name","w"))==NULL)            //fopen的第一个参数是字符串,你的这种表达,打开的是名称是“name”的文件,和你的本意有差别吧
    {
        printf("wrong");
        exit(0);
    }
    ch=getchar();                //getchar是从屏幕读入数据
    while(ch!='#')                //什么意思以这个#结尾的文件
    {
        fputc(ch,fp);            //把读入的数据写进文件
        putchar(ch);
        ch=getchar();
    }
    fclose(fp);

    return(fp);
}

void main()
{
    int i=0,j,t;
    char a[20];
    char ch1,ch2,ch;
    FILE *f;
    char name1='A';
    char name2='B';

    do                                //获取文件A的数据
    {
        ch1=fgetc(write(name1));   
        a[i]=ch1;
        i++;
    }while(ch1!=EOF);

    do                                //获取文件B的数据
    {
        ch2=fgetc(write(name2));
        a[i]=ch2;
        i++;
    }while(ch2!=EOF);

    a[i]='\0';
    for(i=0;a[i]!='\0';i++)            //排序
        for(j=i+1;a[j]!='\0';j++)
            if(a[i]>=a[j])
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }

    if((f=fopen("C","w"))==NULL)
    {
        printf("wrong");
        exit(0);
    }
    i=0;
    for(ch=a[i];a[i]!='\0';i++)
    {
        fputc(ch,f);
        putchar(ch);
    }
    fclose(f);
}
楼主获取文件A和B的数据的写法也太麻烦了吧,直接getchar,fputc不就可以了,写成这样的函数似乎没什么意义啊!
2010-09-19 09:19
长肉的骷髅
Rank: 1
等 级:新手上路
帖 子:22
专家分:4
注 册:2010-7-22
收藏
得分:0 
以下是引用erikyo在2010-9-19 09:19:58的发言:

# include
# include

FILE *write(char name)
{
    char ch;
    FILE *fp;
    if((fp=fopen("name","w"))==NULL)            //fopen的第一个参数是字符串,你的这种表达,打开的是名称是“name”的文件,和你的本意有差别吧
    {
        printf("wrong");
        exit(0);
    }
    ch=getchar();                //getchar是从屏幕读入数据
    while(ch!='#')                //什么意思以这个#结尾的文件
    {
        fputc(ch,fp);            //把读入的数据写进文件
        putchar(ch);
        ch=getchar();
    }
    fclose(fp);

    return(fp);
}

void main()
{
    int i=0,j,t;
    char a[20];
    char ch1,ch2,ch;
    FILE *f;
    char name1='A';
    char name2='B';

    do                                //获取文件A的数据
    {
        ch1=fgetc(write(name1));   
        a=ch1;
        i++;
    }while(ch1!=EOF);

    do                                //获取文件B的数据
    {
        ch2=fgetc(write(name2));
        a=ch2;
        i++;
    }while(ch2!=EOF);

    a='\0';
    for(i=0;a!='\0';i++)            //排序
        for(j=i+1;a[j]!='\0';j++)
            if(a>=a[j])
            {
                t=a;
                a=a[j];
                a[j]=t;
            }

    if((f=fopen("C","w"))==NULL)
    {
        printf("wrong");
        exit(0);
    }
    i=0;
    for(ch=a;a!='\0';i++)
    {
        fputc(ch,f);
        putchar(ch);
    }
    fclose(f);
}
楼主获取文件A和B的数据的写法也太麻烦了吧,直接getchar,fputc不就可以了,写成这样的函数似乎没什么意义啊!
可是我这个运行得不出结果啊 具体错在哪里啊??
2010-09-19 22:45
快速回复:为什么不对啊 大侠们教教我 关于文件
数据加载中...
 
   



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

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