| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1029 人关注过本帖
标题:为什么不对啊 大侠们教教我 关于文件
取消只看楼主 加入收藏
长肉的骷髅
Rank: 1
等 级:新手上路
帖 子:22
专家分:4
注 册:2010-7-22
结帖率:0
收藏
 问题点数:0 回复次数:6 
为什么不对啊 大侠们教教我 关于文件
# include <stdio.h>
# include <stdlib.h>
FILE *write(char name)
{char ch;FILE *fp;
if((fp=fopen("name","w"))==NULL)
{printf("wrong");
exit(0);}
ch=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
{ch1=fgetc(write(name1));a[i]=ch1;i++;}while(ch1!=EOF);

do
{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存放的字母按顺序输出到一个文件C里 为什么我这个没有输出C的内容啊?是不是数组的赋值方式错了??大侠们教教我
搜索更多相关主题的帖子: 文件 
2010-09-13 10:17
长肉的骷髅
Rank: 1
等 级:新手上路
帖 子:22
专家分:4
注 册:2010-7-22
收藏
得分:0 
谢谢楼上的大侠 可是我的那个错在哪里啊
2010-09-13 17:35
长肉的骷髅
Rank: 1
等 级:新手上路
帖 子:22
专家分:4
注 册:2010-7-22
收藏
得分:0 
小弟真心求学 望大侠指教
2010-09-15 20:49
长肉的骷髅
Rank: 1
等 级:新手上路
帖 子:22
专家分:4
注 册:2010-7-22
收藏
得分:0 
我顶
2010-09-15 23:15
长肉的骷髅
Rank: 1
等 级:新手上路
帖 子:22
专家分:4
注 册:2010-7-22
收藏
得分:0 
以下是引用清风拂晓在2010-9-15 23:19:03的发言:

明天晚上帮你看看  明天整天都是重要的课程,晚上自习回来后再看看
好啊 谢谢大侠
2010-09-16 11:19
长肉的骷髅
Rank: 1
等 级:新手上路
帖 子:22
专家分:4
注 册:2010-7-22
收藏
得分:0 
人工置顶
2010-09-18 21:04
长肉的骷髅
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.011758 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved